Skip to content

Commit

Permalink
test: update test ante
Browse files Browse the repository at this point in the history
  • Loading branch information
hoank101 committed Jan 9, 2024
1 parent d2981d0 commit 6a01d49
Showing 1 changed file with 39 additions and 19 deletions.
58 changes: 39 additions & 19 deletions x/feeburn/ante/ante_test.go
Original file line number Diff line number Diff line change
@@ -1,38 +1,58 @@
package ante_test

import (
"fmt"
config "github.com/White-Whale-Defi-Platform/migaloo-chain/v3/app/params"
"github.com/White-Whale-Defi-Platform/migaloo-chain/v3/x/feeburn/ante"
abci "github.com/cometbft/cometbft/abci/types"
"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
sdk "github.com/cosmos/cosmos-sdk/types"
banktypes "github.com/cosmos/cosmos-sdk/x/bank/types"
"math"
"strconv"
)

func (suite *AnteTestSuite) TestFeeBurnDecorator() {
suite.SetupTest(false) // reset

fbd := ante.NewDeductFeeDecorator(suite.App.AccountKeeper, suite.App.BankKeeper, suite.App.FeeGrantKeeper, nil,
suite.App.FeeBurnKeeper)
antehandler := sdk.ChainAnteDecorators(fbd)
listTxFeeBurnPercent := []string{"0", "10", "40", "50", "80", "100"}
for _, percent := range listTxFeeBurnPercent {
fmt.Println("tx fee burn percent", percent)
suite.SetupTest(false) // reset
err1 := suite.App.FeeBurnKeeper.UpdateTxFeeBurnPercent(suite.Ctx, percent)
suite.Require().NoError(err1)

priv := ed25519.GenPrivKey()
addr := getAddr(priv)
accountAddress := sdk.AccAddress(priv.PubKey().Address().Bytes())
privNew := ed25519.GenPrivKey()
addrRecv := getAddr(privNew)
fbd := ante.NewDeductFeeDecorator(suite.App.AccountKeeper, suite.App.BankKeeper, suite.App.FeeGrantKeeper, nil,
suite.App.FeeBurnKeeper)
antehandler := sdk.ChainAnteDecorators(fbd)

accBalance := sdk.Coins{{Denom: config.BaseDenom, Amount: sdk.NewInt(int64(math.Pow10(18) * 2))}}
err := suite.FundAccount(suite.Ctx, addr, accBalance)
suite.Require().NoError(err)
priv := ed25519.GenPrivKey()
addr := getAddr(priv)
accountAddress := sdk.AccAddress(priv.PubKey().Address().Bytes())
privNew := ed25519.GenPrivKey()
addrRecv := getAddr(privNew)

sendAmount := sdk.NewCoin(config.BaseDenom, sdk.NewInt(10))
amount := sdk.Coins{sendAmount}
sendMsg := banktypes.NewMsgSend(accountAddress, addrRecv, amount)
txBuilder := prepareCosmosTx(priv, sendMsg)
_, err = antehandler(suite.Ctx, txBuilder.GetTx(), false)
accBalance := sdk.Coins{{Denom: config.BaseDenom, Amount: sdk.NewInt(int64(math.Pow10(18) * 2))}}
err := suite.FundAccount(suite.Ctx, addr, accBalance)
suite.Require().NoError(err)

suite.Require().NoError(err, "Did not error on invalid tx")
sendAmount := sdk.NewCoin(config.BaseDenom, sdk.NewInt(10))
amount := sdk.Coins{sendAmount}
sendMsg := banktypes.NewMsgSend(accountAddress, addrRecv, amount)
supplyBefore := suite.App.BankKeeper.GetSupply(s.Ctx, config.BaseDenom).Amount
fmt.Println("supplyBefore", supplyBefore)
txBuilder := prepareCosmosTx(priv, sendMsg)
// turn block for validator updates
suite.App.EndBlock(abci.RequestEndBlock{Height: suite.Ctx.BlockHeight()})
suite.App.Commit()
_, err = antehandler(suite.Ctx, txBuilder.GetTx(), false)
suite.Require().NoError(err, "Did not error on invalid tx")
supplyAfter := suite.App.BankKeeper.GetSupply(s.Ctx, config.BaseDenom).Amount
fmt.Println("supplyAfter", supplyAfter)
totalTxFee := txBuilder.GetTx().GetFee()[0].Amount
txFeeBurnPercentInt, _ := strconv.Atoi(percent)
totalFeeBurn := totalTxFee.Mul(sdk.NewInt(int64(txFeeBurnPercentInt))).Quo(sdk.NewInt(100))
fmt.Printf("totalTxFee %v, totalFeeBurn %v\n", totalTxFee, totalFeeBurn)
suite.Require().True(totalFeeBurn.Equal(supplyBefore.Sub(supplyAfter)))
}
}

func (suite *AnteTestSuite) TestFeeBurnDecoratorWhenTxNull() {
Expand Down

0 comments on commit 6a01d49

Please sign in to comment.