|
|
|
@@ -15,20 +15,20 @@ func TestTallyNoOneVotes(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
createValidators(t, ctx, app, []int64{5, 5, 5})
|
|
|
|
|
createValidators(t, f, []int64{5, 5, 5})
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", sdk.AccAddress("cosmos1ghekyjucln7y67ntx7cf27m9dpuxxemn4c8g4r"), false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", sdk.AccAddress("cosmos1ghekyjucln7y67ntx7cf27m9dpuxxemn4c8g4r"), false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -37,53 +37,55 @@ func TestTallyNoOneVotes(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyNoQuorum(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
createValidators(t, ctx, app, []int64{2, 5, 0})
|
|
|
|
|
createValidators(t, f, []int64{2, 5, 0})
|
|
|
|
|
|
|
|
|
|
addrs := simtestutil.AddTestAddrsIncremental(app.BankKeeper, app.StakingKeeper, ctx, 1, sdk.NewInt(10000000))
|
|
|
|
|
addrs := simtestutil.AddTestAddrsIncremental(f.bankKeeper, f.stakingKeeper, ctx, 1, sdk.NewInt(10000000))
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
err = app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), "")
|
|
|
|
|
err = f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), "")
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, _, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, _, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestTallyOnlyValidatorsAllYes(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
addrs, _ := createValidators(t, ctx, app, []int64{5, 5, 5})
|
|
|
|
|
addrs, _ := createValidators(t, f, []int64{5, 5, 5})
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -92,25 +94,26 @@ func TestTallyOnlyValidatorsAllYes(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyOnlyValidators51No(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
valAccAddrs, _ := createValidators(t, ctx, app, []int64{5, 6, 0})
|
|
|
|
|
valAccAddrs, _ := createValidators(t, f, []int64{5, 6, 0})
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, _, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, _, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -118,25 +121,26 @@ func TestTallyOnlyValidators51No(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyOnlyValidators51Yes(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
valAccAddrs, _ := createValidators(t, ctx, app, []int64{5, 6, 0})
|
|
|
|
|
valAccAddrs, _ := createValidators(t, f, []int64{5, 6, 0})
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -145,26 +149,27 @@ func TestTallyOnlyValidators51Yes(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyOnlyValidatorsVetoed(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
valAccAddrs, _ := createValidators(t, ctx, app, []int64{6, 6, 7})
|
|
|
|
|
valAccAddrs, _ := createValidators(t, f, []int64{6, 6, 7})
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1.NewNonSplitVoteOption(v1.OptionNoWithVeto), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1.NewNonSplitVoteOption(v1.OptionNoWithVeto), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits)
|
|
|
|
@@ -173,26 +178,27 @@ func TestTallyOnlyValidatorsVetoed(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyOnlyValidatorsAbstainPasses(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
valAccAddrs, _ := createValidators(t, ctx, app, []int64{6, 6, 7})
|
|
|
|
|
valAccAddrs, _ := createValidators(t, f, []int64{6, 6, 7})
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionAbstain), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionAbstain), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -201,26 +207,27 @@ func TestTallyOnlyValidatorsAbstainPasses(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyOnlyValidatorsAbstainFails(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
valAccAddrs, _ := createValidators(t, ctx, app, []int64{6, 6, 7})
|
|
|
|
|
valAccAddrs, _ := createValidators(t, f, []int64{6, 6, 7})
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionAbstain), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[0], v1.NewNonSplitVoteOption(v1.OptionAbstain), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddrs[2], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -229,26 +236,27 @@ func TestTallyOnlyValidatorsAbstainFails(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyOnlyValidatorsNonVoter(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
valAccAddrs, _ := createValidators(t, ctx, app, []int64{5, 6, 7})
|
|
|
|
|
valAccAddrs, _ := createValidators(t, f, []int64{5, 6, 7})
|
|
|
|
|
valAccAddr1, valAccAddr2 := valAccAddrs[0], valAccAddrs[1]
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", valAccAddrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddr1, v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, valAccAddr2, v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddr1, v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, valAccAddr2, v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -257,36 +265,37 @@ func TestTallyOnlyValidatorsNonVoter(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyDelgatorOverride(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
addrs, valAddrs := createValidators(t, ctx, app, []int64{5, 6, 7})
|
|
|
|
|
addrs, valAddrs := createValidators(t, f, []int64{5, 6, 7})
|
|
|
|
|
|
|
|
|
|
delTokens := app.StakingKeeper.TokensFromConsensusPower(ctx, 30)
|
|
|
|
|
val1, found := app.StakingKeeper.GetValidator(ctx, valAddrs[0])
|
|
|
|
|
delTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 30)
|
|
|
|
|
val1, found := f.stakingKeeper.GetValidator(ctx, valAddrs[0])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
|
|
|
|
|
_, err := app.StakingKeeper.Delegate(ctx, addrs[4], delTokens, stakingtypes.Unbonded, val1, true)
|
|
|
|
|
_, err := f.stakingKeeper.Delegate(ctx, addrs[4], delTokens, stakingtypes.Unbonded, val1, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
|
|
|
|
app.StakingKeeper.EndBlocker(ctx)
|
|
|
|
|
f.stakingKeeper.EndBlocker(ctx)
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[3], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[4], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[3], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[4], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -295,35 +304,36 @@ func TestTallyDelgatorOverride(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyDelgatorInherit(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
addrs, vals := createValidators(t, ctx, app, []int64{5, 6, 7})
|
|
|
|
|
addrs, vals := createValidators(t, f, []int64{5, 6, 7})
|
|
|
|
|
|
|
|
|
|
delTokens := app.StakingKeeper.TokensFromConsensusPower(ctx, 30)
|
|
|
|
|
val3, found := app.StakingKeeper.GetValidator(ctx, vals[2])
|
|
|
|
|
delTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 30)
|
|
|
|
|
val3, found := f.stakingKeeper.GetValidator(ctx, vals[2])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
|
|
|
|
|
_, err := app.StakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
|
|
|
|
|
_, err := f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
|
|
|
|
app.StakingKeeper.EndBlocker(ctx)
|
|
|
|
|
f.stakingKeeper.EndBlocker(ctx)
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
proposal, err = f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -332,40 +342,41 @@ func TestTallyDelgatorInherit(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyDelgatorMultipleOverride(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
addrs, vals := createValidators(t, ctx, app, []int64{5, 6, 7})
|
|
|
|
|
addrs, vals := createValidators(t, f, []int64{5, 6, 7})
|
|
|
|
|
|
|
|
|
|
delTokens := app.StakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
val1, found := app.StakingKeeper.GetValidator(ctx, vals[0])
|
|
|
|
|
delTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
val1, found := f.stakingKeeper.GetValidator(ctx, vals[0])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
val2, found := app.StakingKeeper.GetValidator(ctx, vals[1])
|
|
|
|
|
val2, found := f.stakingKeeper.GetValidator(ctx, vals[1])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
|
|
|
|
|
_, err := app.StakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val1, true)
|
|
|
|
|
_, err := f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val1, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
_, err = app.StakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val2, true)
|
|
|
|
|
_, err = f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val2, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
|
|
|
|
app.StakingKeeper.EndBlocker(ctx)
|
|
|
|
|
f.stakingKeeper.EndBlocker(ctx)
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[3], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[3], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -374,41 +385,42 @@ func TestTallyDelgatorMultipleOverride(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyDelgatorMultipleInherit(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
createValidators(t, ctx, app, []int64{25, 6, 7})
|
|
|
|
|
createValidators(t, f, []int64{25, 6, 7})
|
|
|
|
|
|
|
|
|
|
addrs, vals := createValidators(t, ctx, app, []int64{5, 6, 7})
|
|
|
|
|
addrs, vals := createValidators(t, f, []int64{5, 6, 7})
|
|
|
|
|
|
|
|
|
|
delTokens := app.StakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
val2, found := app.StakingKeeper.GetValidator(ctx, vals[1])
|
|
|
|
|
delTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
val2, found := f.stakingKeeper.GetValidator(ctx, vals[1])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
val3, found := app.StakingKeeper.GetValidator(ctx, vals[2])
|
|
|
|
|
val3, found := f.stakingKeeper.GetValidator(ctx, vals[2])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
|
|
|
|
|
_, err := app.StakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val2, true)
|
|
|
|
|
_, err := f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val2, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
_, err = app.StakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
|
|
|
|
|
_, err = f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
|
|
|
|
app.StakingKeeper.EndBlocker(ctx)
|
|
|
|
|
f.stakingKeeper.EndBlocker(ctx)
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes == false)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -417,43 +429,44 @@ func TestTallyDelgatorMultipleInherit(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyJailedValidator(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
addrs, valAddrs := createValidators(t, ctx, app, []int64{25, 6, 7})
|
|
|
|
|
addrs, valAddrs := createValidators(t, f, []int64{25, 6, 7})
|
|
|
|
|
|
|
|
|
|
delTokens := app.StakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
val2, found := app.StakingKeeper.GetValidator(ctx, valAddrs[1])
|
|
|
|
|
delTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
val2, found := f.stakingKeeper.GetValidator(ctx, valAddrs[1])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
val3, found := app.StakingKeeper.GetValidator(ctx, valAddrs[2])
|
|
|
|
|
val3, found := f.stakingKeeper.GetValidator(ctx, valAddrs[2])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
|
|
|
|
|
_, err := app.StakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val2, true)
|
|
|
|
|
_, err := f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val2, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
_, err = app.StakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
|
|
|
|
|
_, err = f.stakingKeeper.Delegate(ctx, addrs[3], delTokens, stakingtypes.Unbonded, val3, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
|
|
|
|
app.StakingKeeper.EndBlocker(ctx)
|
|
|
|
|
f.stakingKeeper.EndBlocker(ctx)
|
|
|
|
|
|
|
|
|
|
consAddr, err := val2.GetConsAddr()
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
app.StakingKeeper.Jail(ctx, sdk.ConsAddress(consAddr.Bytes()))
|
|
|
|
|
f.stakingKeeper.Jail(ctx, sdk.ConsAddress(consAddr.Bytes()))
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
@@ -462,41 +475,42 @@ func TestTallyJailedValidator(t *testing.T) {
|
|
|
|
|
|
|
|
|
|
func TestTallyValidatorMultipleDelegations(t *testing.T) {
|
|
|
|
|
t.Parallel()
|
|
|
|
|
|
|
|
|
|
f := initFixture(t)
|
|
|
|
|
|
|
|
|
|
app, ctx := f.app, f.ctx
|
|
|
|
|
ctx := f.ctx
|
|
|
|
|
|
|
|
|
|
addrs, valAddrs := createValidators(t, ctx, app, []int64{10, 10, 10})
|
|
|
|
|
addrs, valAddrs := createValidators(t, f, []int64{10, 10, 10})
|
|
|
|
|
|
|
|
|
|
delTokens := app.StakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
val2, found := app.StakingKeeper.GetValidator(ctx, valAddrs[1])
|
|
|
|
|
delTokens := f.stakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
val2, found := f.stakingKeeper.GetValidator(ctx, valAddrs[1])
|
|
|
|
|
assert.Assert(t, found)
|
|
|
|
|
|
|
|
|
|
_, err := app.StakingKeeper.Delegate(ctx, addrs[0], delTokens, stakingtypes.Unbonded, val2, true)
|
|
|
|
|
_, err := f.stakingKeeper.Delegate(ctx, addrs[0], delTokens, stakingtypes.Unbonded, val2, true)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
|
|
|
|
|
tp := TestProposal
|
|
|
|
|
proposal, err := app.GovKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
proposal, err := f.govKeeper.SubmitProposal(ctx, tp, "", "test", "description", addrs[0], false)
|
|
|
|
|
assert.NilError(t, err)
|
|
|
|
|
proposalID := proposal.Id
|
|
|
|
|
proposal.Status = v1.StatusVotingPeriod
|
|
|
|
|
app.GovKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
f.govKeeper.SetProposal(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, app.GovKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[0], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[1], v1.NewNonSplitVoteOption(v1.OptionNo), ""))
|
|
|
|
|
assert.NilError(t, f.govKeeper.AddVote(ctx, proposalID, addrs[2], v1.NewNonSplitVoteOption(v1.OptionYes), ""))
|
|
|
|
|
|
|
|
|
|
proposal, ok := app.GovKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
proposal, ok := f.govKeeper.Proposals.Get(ctx, proposalID)
|
|
|
|
|
assert.Assert(t, ok)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := app.GovKeeper.Tally(ctx, proposal)
|
|
|
|
|
passes, burnDeposits, tallyResults, _ := f.govKeeper.Tally(ctx, proposal)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, passes)
|
|
|
|
|
assert.Assert(t, burnDeposits == false)
|
|
|
|
|
|
|
|
|
|
expectedYes := app.StakingKeeper.TokensFromConsensusPower(ctx, 30)
|
|
|
|
|
expectedAbstain := app.StakingKeeper.TokensFromConsensusPower(ctx, 0)
|
|
|
|
|
expectedNo := app.StakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
expectedNoWithVeto := app.StakingKeeper.TokensFromConsensusPower(ctx, 0)
|
|
|
|
|
expectedYes := f.stakingKeeper.TokensFromConsensusPower(ctx, 30)
|
|
|
|
|
expectedAbstain := f.stakingKeeper.TokensFromConsensusPower(ctx, 0)
|
|
|
|
|
expectedNo := f.stakingKeeper.TokensFromConsensusPower(ctx, 10)
|
|
|
|
|
expectedNoWithVeto := f.stakingKeeper.TokensFromConsensusPower(ctx, 0)
|
|
|
|
|
expectedTallyResult := v1.NewTallyResult(expectedYes, expectedAbstain, expectedNo, expectedNoWithVeto)
|
|
|
|
|
|
|
|
|
|
assert.Assert(t, tallyResults.Equals(expectedTallyResult))
|
|
|
|
|