From 2f1af668faeb422207c31a31253393a4daf1b765 Mon Sep 17 00:00:00 2001 From: Solovyov1796 Date: Sat, 3 Aug 2024 22:17:29 +0800 Subject: [PATCH] fix unit test --- app/ante/ante_test.go | 4 +- app/ante/authorized_test.go | 10 +- tests/e2e/e2e_evm_contracts_test.go | 3 +- tests/e2e/e2e_min_fees_test.go | 5 +- tests/e2e/e2e_test.go | 9 +- tests/e2e/runner/chain.go | 4 +- x/evmutil/keeper/bank_keeper_test.go | 389 +++++++++++++-------------- x/evmutil/keeper/invariants_test.go | 3 +- x/evmutil/testutil/suite.go | 3 +- 9 files changed, 210 insertions(+), 220 deletions(-) diff --git a/app/ante/ante_test.go b/app/ante/ante_test.go index c59c8581..17c56489 100644 --- a/app/ante/ante_test.go +++ b/app/ante/ante_test.go @@ -69,7 +69,7 @@ func TestAppAnteHandler_AuthorizedMempool(t *testing.T) { chainID, app.NewFundedGenStateWithSameCoins( tApp.AppCodec(), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 1e9)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 1e9)), testAddresses, ), newBep3GenStateMulti(tApp.AppCodec(), deputy), @@ -117,7 +117,7 @@ func TestAppAnteHandler_AuthorizedMempool(t *testing.T) { banktypes.NewMsgSend( tc.address, testAddresses[0], - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 1_000_000)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 1_000_000)), ), }, sdk.NewCoins(), // no fee diff --git a/app/ante/authorized_test.go b/app/ante/authorized_test.go index 2c61bf31..e2c4cdf2 100644 --- a/app/ante/authorized_test.go +++ b/app/ante/authorized_test.go @@ -5,8 +5,6 @@ import ( "testing" "time" - "github.com/0glabs/0g-chain/chaincfg" - "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" @@ -47,7 +45,7 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_NotCheckTx(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 100_000_000)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100_000_000)), ), }, sdk.NewCoins(), // no fee @@ -82,12 +80,12 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_Pass(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 100_000_000)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), ), banktypes.NewMsgSend( testAddresses[2], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 100_000_000)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), ), }, sdk.NewCoins(), // no fee @@ -123,7 +121,7 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_Reject(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 100_000_000)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), ), }, sdk.NewCoins(), // no fee diff --git a/tests/e2e/e2e_evm_contracts_test.go b/tests/e2e/e2e_evm_contracts_test.go index b1209f1a..ba3c2231 100644 --- a/tests/e2e/e2e_evm_contracts_test.go +++ b/tests/e2e/e2e_evm_contracts_test.go @@ -13,7 +13,6 @@ import ( "github.com/0glabs/0g-chain/app" evmutiltypes "github.com/0glabs/0g-chain/x/evmutil/types" - "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/tests/e2e/contracts/greeter" "github.com/0glabs/0g-chain/tests/util" ) @@ -100,7 +99,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // check that the message was processed & the a0gi is transferred. balRes, err := suite.ZgChain.Grpc.Query.Bank.Balance(context.Background(), &banktypes.QueryBalanceRequest{ Address: receiver.String(), - Denom: chaincfg.DisplayDenom, + Denom: "ua0gi", }) suite.NoError(err) suite.Equal(sdk.NewInt(1e3), balRes.Balance.Amount) diff --git a/tests/e2e/e2e_min_fees_test.go b/tests/e2e/e2e_min_fees_test.go index 5a024182..8516f2ba 100644 --- a/tests/e2e/e2e_min_fees_test.go +++ b/tests/e2e/e2e_min_fees_test.go @@ -13,7 +13,6 @@ import ( ethtypes "github.com/ethereum/go-ethereum/core/types" "github.com/0glabs/0g-chain/app" - "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/tests/util" ) @@ -25,7 +24,7 @@ func (suite *IntegrationTestSuite) TestEthGasPriceReturnsMinFee() { suite.NoError(err) // evm uses neuron, get neuron min fee - evmMinGas := minGasPrices.AmountOf(chaincfg.BaseDenom).TruncateInt().BigInt() + evmMinGas := minGasPrices.AmountOf("neuron").TruncateInt().BigInt() // returns eth_gasPrice, units in a0gi gasPrice, err := suite.ZgChain.EvmClient.SuggestGasPrice(context.Background()) @@ -44,7 +43,7 @@ func (suite *IntegrationTestSuite) TestEvmRespectsMinFee() { // get min gas price for evm (from app.toml) minFees, err := getMinFeeFromAppToml(util.ZgChainHomePath()) suite.NoError(err) - minGasPrice := minFees.AmountOf(chaincfg.BaseDenom).TruncateInt() + minGasPrice := minFees.AmountOf("neuron").TruncateInt() // attempt tx with less than min gas price (min fee - 1) tooLowGasPrice := minGasPrice.Sub(sdk.OneInt()).BigInt() diff --git a/tests/e2e/e2e_test.go b/tests/e2e/e2e_test.go index 87ab1761..817fff01 100644 --- a/tests/e2e/e2e_test.go +++ b/tests/e2e/e2e_test.go @@ -19,7 +19,6 @@ import ( emtypes "github.com/evmos/ethermint/types" "github.com/0glabs/0g-chain/app" - "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/tests/e2e/testutil" "github.com/0glabs/0g-chain/tests/util" ) @@ -29,7 +28,7 @@ var ( ) func a0gi(amt *big.Int) sdk.Coin { - return sdk.NewCoin(chaincfg.DisplayDenom, sdkmath.NewIntFromBigInt(amt)) + return sdk.NewCoin("ua0gi", sdkmath.NewIntFromBigInt(amt)) } type IntegrationTestSuite struct { @@ -67,7 +66,7 @@ func (suite *IntegrationTestSuite) TestFundedAccount() { // check balance via SDK query res, err := suite.ZgChain.Grpc.Query.Bank.Balance(context.Background(), banktypes.NewQueryBalanceRequest( - acc.SdkAddress, chaincfg.DisplayDenom, + acc.SdkAddress, "ua0gi", )) suite.NoError(err) suite.Equal(funds, *res.Balance) @@ -110,7 +109,7 @@ func (suite *IntegrationTestSuite) TestTransferOverEVM() { // expect (9 - gas used) A0GI remaining in account. balance := suite.ZgChain.QuerySdkForBalances(acc.SdkAddress) - suite.Equal(sdkmath.NewInt(9e5).Sub(a0giUsedForGas), balance.AmountOf(chaincfg.DisplayDenom)) + suite.Equal(sdkmath.NewInt(9e5).Sub(a0giUsedForGas), balance.AmountOf("ua0gi")) } // TestIbcTransfer transfers A0GI from the primary 0g-chain (suite.ZgChain) to the ibc chain (suite.Ibc). @@ -158,7 +157,7 @@ func (suite *IntegrationTestSuite) TestIbcTransfer() { // the balance should be deducted from 0g-chain account suite.Eventually(func() bool { balance := suite.ZgChain.QuerySdkForBalances(zgChainAcc.SdkAddress) - return balance.AmountOf(chaincfg.DisplayDenom).Equal(expectedSrcBalance.Amount) + return balance.AmountOf("ua0gi").Equal(expectedSrcBalance.Amount) }, 10*time.Second, 1*time.Second) // expect the balance to be transferred to the ibc chain! diff --git a/tests/e2e/runner/chain.go b/tests/e2e/runner/chain.go index 34f61bd9..bbedec03 100644 --- a/tests/e2e/runner/chain.go +++ b/tests/e2e/runner/chain.go @@ -4,8 +4,6 @@ import ( "errors" "fmt" - "github.com/0glabs/0g-chain/chaincfg" - rpchttpclient "github.com/cometbft/cometbft/rpc/client/http" "github.com/ethereum/go-ethereum/ethclient" ) @@ -75,7 +73,7 @@ var ( EvmRpcUrl: "http://localhost:8545", ChainId: "0gchainlocalnet_8888-1", - StakingDenom: chaincfg.DisplayDenom, + StakingDenom: "ua0gi", } kvtoolIbcChain = ChainDetails{ RpcUrl: "http://localhost:26658", diff --git a/x/evmutil/keeper/bank_keeper_test.go b/x/evmutil/keeper/bank_keeper_test.go index d41f0fba..cf170e58 100644 --- a/x/evmutil/keeper/bank_keeper_test.go +++ b/x/evmutil/keeper/bank_keeper_test.go @@ -14,7 +14,6 @@ import ( vesting "github.com/cosmos/cosmos-sdk/x/auth/vesting/types" evmtypes "github.com/evmos/ethermint/x/evm/types" - "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/keeper" "github.com/0glabs/0g-chain/x/evmutil/testutil" "github.com/0glabs/0g-chain/x/evmutil/types" @@ -29,7 +28,7 @@ func (suite *evmBankKeeperTestSuite) SetupTest() { } func (suite *evmBankKeeperTestSuite) TestGetBalance_ReturnsSpendable() { - startingCoins := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10)) + startingCoins := sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10)) startingNeuron := sdkmath.NewInt(100) now := tmtime.Now() @@ -43,16 +42,16 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance_ReturnsSpendable() { err = suite.Keeper.SetBalance(suite.Ctx, suite.Addrs[0], startingNeuron) suite.Require().NoError(err) - coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.BaseDenom) + coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "neuron") suite.Require().Equal(startingNeuron, coin.Amount) ctx := suite.Ctx.WithBlockTime(now.Add(12 * time.Hour)) - coin = suite.EvmBankKeeper.GetBalance(ctx, suite.Addrs[0], chaincfg.BaseDenom) - suite.Require().Equal(sdkmath.NewIntFromUint64(5_000_000_000_000_000_100), coin.Amount) + coin = suite.EvmBankKeeper.GetBalance(ctx, suite.Addrs[0], "neuron") + suite.Require().Equal(sdkmath.NewIntFromUint64(5_000_000_000_100), coin.Amount) } func (suite *evmBankKeeperTestSuite) TestGetBalance_NotEvmDenom() { suite.Require().Panics(func() { - suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.DisplayDenom) + suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") }) suite.Require().Panics(func() { suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "busd") @@ -65,41 +64,41 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance() { expAmount sdkmath.Int }{ { - "a0gi with neuron", + "ua0gi with neuron", sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 100), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 10), + sdk.NewInt64Coin("neuron", 100), + sdk.NewInt64Coin("ua0gi", 10), ), - sdk.NewIntFromBigInt(makeBigIntByString("10000000000000000100")), + sdk.NewIntFromBigInt(makeBigIntByString("10000000000100")), }, { "just neuron", sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 100), + sdk.NewInt64Coin("neuron", 100), sdk.NewInt64Coin("busd", 100), ), sdkmath.NewInt(100), }, { - "just a0gi", + "just ua0gi", sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.DisplayDenom, 10), + sdk.NewInt64Coin("ua0gi", 10), sdk.NewInt64Coin("busd", 100), ), - sdk.NewIntFromBigInt(makeBigIntByString("10000000000000000000")), + sdk.NewIntFromBigInt(makeBigIntByString("10000000000000")), }, { - "no a0gi or neuron", + "no ua0gi or neuron", sdk.NewCoins(), sdk.ZeroInt(), }, { - "with avaka that is more than 1 a0gi", + "with avaka that is more than 1 ua0gi", sdk.NewCoins( - sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("20000000000000000220"))), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 11), + sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("20000000000220"))), + sdk.NewInt64Coin("ua0gi", 11), ), - sdk.NewIntFromBigInt(makeBigIntByString("31000000000000000220")), + sdk.NewIntFromBigInt(makeBigIntByString("31000000000220")), }, } @@ -108,15 +107,15 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance() { suite.SetupTest() suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingAmount) - coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.BaseDenom) + coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "neuron") suite.Require().Equal(tt.expAmount, coin.Amount) }) } } func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { startingModuleCoins := sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 200), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 100), + sdk.NewInt64Coin("neuron", 200), + sdk.NewInt64Coin("ua0gi", 100), ) tests := []struct { name string @@ -126,102 +125,102 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { hasErr bool }{ { - "send more than 1 a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("12000000000000000010")))), + "send more than 1 ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12000000000010")))), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 10), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 12), + sdk.NewInt64Coin("neuron", 10), + sdk.NewInt64Coin("ua0gi", 12), ), false, }, { - "send less than 1 a0gi", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), + "send less than 1 ua0gi", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 122)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 122), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 0), + sdk.NewInt64Coin("neuron", 122), + sdk.NewInt64Coin("ua0gi", 0), ), false, }, { - "send an exact amount of a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("98000000000000000000")))), + "send an exact amount of ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("98000000000000")))), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 0), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 98), + sdk.NewInt64Coin("neuron", 0), + sdk.NewInt64Coin("ua0gi", 98), ), false, }, { "send no neuron", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 0)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 0), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 0), + sdk.NewInt64Coin("neuron", 0), + sdk.NewInt64Coin("ua0gi", 0), ), false, }, { "errors if sending other coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("busd", 1000)), sdk.Coins{}, sdk.Coins{}, true, }, { "errors if not enough total neuron to cover", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("100000000000000001000")))), + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("100000000001000")))), sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough a0gi to cover", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("200000000000000000000")))), + "errors if not enough ua0gi to cover", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("200000000000000")))), sdk.Coins{}, sdk.Coins{}, true, }, { - "converts receiver's neuron to a0gi if there's enough neuron after the transfer", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("99000000000200000000")))), + "converts receiver's neuron to ua0gi if there's enough neuron after the transfer", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("99000000000200")))), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 999_999_999_900_000_000), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 1), + sdk.NewInt64Coin("neuron", 999_999_999_900), + sdk.NewInt64Coin("ua0gi", 1), ), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 100000000), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 101), + sdk.NewInt64Coin("neuron", 100), + sdk.NewInt64Coin("ua0gi", 101), ), false, }, { - "converts all of receiver's neuron to a0gi even if somehow receiver has more than 1a0gi of neuron", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("12000000000000000100")))), + "converts all of receiver's neuron to ua0gi even if somehow receiver has more than 1a0gi of neuron", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12000000000100")))), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 5_999_999_999_999_999_990), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 1), + sdk.NewInt64Coin("neuron", 5_999_999_999_990), + sdk.NewInt64Coin("ua0gi", 1), ), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 90), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 19), + sdk.NewInt64Coin("neuron", 90), + sdk.NewInt64Coin("ua0gi", 19), ), false, }, { - "swap 1 a0gi for neuron if module account doesn't have enough neuron", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("99000000000000001000")))), + "swap 1 ua0gi for neuron if module account doesn't have enough neuron", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("99000000001000")))), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 200), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 1), + sdk.NewInt64Coin("neuron", 200), + sdk.NewInt64Coin("ua0gi", 1), ), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 1200), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 100), + sdk.NewInt64Coin("neuron", 1200), + sdk.NewInt64Coin("ua0gi", 100), ), false, }, @@ -234,8 +233,8 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingAccBal) suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, startingModuleCoins) - // fund our module with some a0gi to account for converting extra neuron back to a0gi - suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10))) + // fund our module with some ua0gi to account for converting extra neuron back to ua0gi + suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10))) err := suite.EvmBankKeeper.SendCoinsFromModuleToAccount(suite.Ctx, evmtypes.ModuleName, suite.Addrs[0], tt.sendCoins) if tt.hasErr { @@ -245,23 +244,23 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { suite.Require().NoError(err) } - // check a0gi - a0giSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.DisplayDenom) - suite.Require().Equal(tt.expAccBal.AmountOf(chaincfg.DisplayDenom).Int64(), a0giSender.Amount.Int64()) + // check ua0gi + a0giSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") + suite.Require().Equal(tt.expAccBal.AmountOf("ua0gi").Int64(), a0giSender.Amount.Int64()) // check neuron actualNeuron := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expAccBal.AmountOf(chaincfg.BaseDenom).Int64(), actualNeuron.Int64()) + suite.Require().Equal(tt.expAccBal.AmountOf("neuron").Int64(), actualNeuron.Int64()) }) } } func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { startingAccCoins := sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 200), - sdk.NewInt64Coin(chaincfg.DisplayDenom, 100), + sdk.NewInt64Coin("neuron", 200), + sdk.NewInt64Coin("ua0gi", 100), ) startingModuleCoins := sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), + sdk.NewInt64Coin("neuron", 100_000_000_000), ) tests := []struct { name string @@ -271,36 +270,36 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { hasErr bool }{ { - "send more than 1 a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("12000000000000000010")))), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 190), sdk.NewInt64Coin(chaincfg.DisplayDenom, 88)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_010), sdk.NewInt64Coin(chaincfg.DisplayDenom, 12)), + "send more than 1 ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12000000000010")))), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 190), sdk.NewInt64Coin("ua0gi", 88)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_010), sdk.NewInt64Coin("ua0gi", 12)), false, }, { - "send less than 1 a0gi", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 78), sdk.NewInt64Coin(chaincfg.DisplayDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_122), sdk.NewInt64Coin(chaincfg.DisplayDenom, 0)), + "send less than 1 ua0gi", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 122)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 78), sdk.NewInt64Coin("ua0gi", 100)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_122), sdk.NewInt64Coin("ua0gi", 0)), false, }, { - "send an exact amount of a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("98000000000000000000")))), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200), sdk.NewInt64Coin(chaincfg.DisplayDenom, 2)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.DisplayDenom, 98)), + "send an exact amount of ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("98000000000000")))), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 200), sdk.NewInt64Coin("ua0gi", 2)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_000), sdk.NewInt64Coin("ua0gi", 98)), false, }, { "send no neuron", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200), sdk.NewInt64Coin(chaincfg.DisplayDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.DisplayDenom, 0)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 0)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 200), sdk.NewInt64Coin("ua0gi", 100)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_000), sdk.NewInt64Coin("ua0gi", 0)), false, }, { "errors if sending other coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("busd", 1000)), sdk.Coins{}, sdk.Coins{}, true, @@ -308,8 +307,8 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), - sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), + sdk.NewInt64Coin("neuron", 12_000_000_000_000), + sdk.NewInt64Coin("neuron", 2_000_000_000_000), }, sdk.Coins{}, sdk.Coins{}, @@ -317,30 +316,30 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { }, { "errors if not enough total neuron to cover", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("100000000001000000000")))), + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("100000000001000")))), sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough a0gi to cover", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("200000000000000000000")))), + "errors if not enough ua0gi to cover", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("200000000000000")))), sdk.Coins{}, sdk.Coins{}, true, }, { - "converts 1 a0gi to neuron if not enough neuron to cover", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("99001000000000000000")))), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 999_000_000_000_000_200), sdk.NewInt64Coin(chaincfg.DisplayDenom, 0)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 1_000_100_000_000_000), sdk.NewInt64Coin(chaincfg.DisplayDenom, 99)), + "converts 1 ua0gi to neuron if not enough neuron to cover", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("99001000000000")))), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 999_000_000_200), sdk.NewInt64Coin("ua0gi", 0)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 101_000_000_000), sdk.NewInt64Coin("ua0gi", 99)), false, }, { - "converts receiver's neuron to a0gi if there's enough neuron after the transfer", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 5_900_000_000_000_000_200)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000_000_000), sdk.NewInt64Coin(chaincfg.DisplayDenom, 94)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 900_000_100_000_000_200), sdk.NewInt64Coin(chaincfg.DisplayDenom, 5)), + "converts receiver's neuron to ua0gi if there's enough neuron after the transfer", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 5_900_000_000_200)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_000), sdk.NewInt64Coin("ua0gi", 94)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 200), sdk.NewInt64Coin("ua0gi", 6)), false, }, } @@ -360,17 +359,17 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { } // check sender balance - a0giSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.DisplayDenom) - suite.Require().Equal(tt.expSenderCoins.AmountOf(chaincfg.DisplayDenom).Int64(), a0giSender.Amount.Int64()) + a0giSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") + suite.Require().Equal(tt.expSenderCoins.AmountOf("ua0gi").Int64(), a0giSender.Amount.Int64()) actualNeuron := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expSenderCoins.AmountOf(chaincfg.BaseDenom).Int64(), actualNeuron.Int64()) + suite.Require().Equal(tt.expSenderCoins.AmountOf("neuron").Int64(), actualNeuron.Int64()) // check module balance moduleAddr := suite.AccountKeeper.GetModuleAddress(evmtypes.ModuleName) - a0giSender = suite.BankKeeper.GetBalance(suite.Ctx, moduleAddr, chaincfg.DisplayDenom) - suite.Require().Equal(tt.expModuleCoins.AmountOf(chaincfg.DisplayDenom).Int64(), a0giSender.Amount.Int64()) + a0giSender = suite.BankKeeper.GetBalance(suite.Ctx, moduleAddr, "ua0gi") + suite.Require().Equal(tt.expModuleCoins.AmountOf("ua0gi").Int64(), a0giSender.Amount.Int64()) actualNeuron = suite.Keeper.GetBalance(suite.Ctx, moduleAddr) - suite.Require().Equal(tt.expModuleCoins.AmountOf(chaincfg.BaseDenom).Int64(), actualNeuron.Int64()) + suite.Require().Equal(tt.expModuleCoins.AmountOf("neuron").Int64(), actualNeuron.Int64()) }) } } @@ -385,24 +384,24 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { neuronStart sdkmath.Int }{ { - "burn more than 1 a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("12021000000002000000")))), + "burn more than 1 ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12021000000002")))), sdkmath.NewInt(88), - sdkmath.NewInt(100_000_000_000_000_000), + sdkmath.NewInt(100_000_000_000), false, - sdk.NewIntFromBigInt(makeBigIntByString("121000000002000000")), + sdk.NewIntFromBigInt(makeBigIntByString("121000000002")), }, { - "burn less than 1 a0gi", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), + "burn less than 1 ua0gi", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 122)), sdkmath.NewInt(100), sdkmath.NewInt(878), false, sdkmath.NewInt(1000), }, { - "burn an exact amount of a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("98000000000000000000")))), + "burn an exact amount of ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("98000000000000")))), sdkmath.NewInt(2), sdkmath.NewInt(10), false, @@ -410,7 +409,7 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { }, { "burn no neuron", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 0)), startingA0gi, sdk.ZeroInt(), false, @@ -418,7 +417,7 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { }, { "errors if burning other coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("busd", 1000)), startingA0gi, sdkmath.NewInt(100), true, @@ -427,8 +426,8 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), - sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), + sdk.NewInt64Coin("neuron", 12_000_000_000_000), + sdk.NewInt64Coin("neuron", 2_000_000_000_000), }, startingA0gi, sdk.ZeroInt(), @@ -437,7 +436,7 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { }, { "errors if burn amount is negative", - sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-100)}}, + sdk.Coins{sdk.Coin{Denom: "neuron", Amount: sdkmath.NewInt(-100)}}, startingA0gi, sdkmath.NewInt(50), true, @@ -445,27 +444,27 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { }, { "errors if not enough neuron to cover burn", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("100999000000000000000")))), + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("100999000000000")))), sdkmath.NewInt(0), - sdkmath.NewInt(99_000_000_000_000_000), + sdkmath.NewInt(99_000_000_000), true, - sdkmath.NewInt(99_000_000_000_000_000), + sdkmath.NewInt(99_000_000_000), }, { - "errors if not enough a0gi to cover burn", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("200000000000000000000")))), + "errors if not enough ua0gi to cover burn", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("200000000000000")))), sdkmath.NewInt(100), sdk.ZeroInt(), true, sdk.ZeroInt(), }, { - "converts 1 a0gi to neuron if not enough neuron to cover", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("12021000000002000000")))), + "converts 1 ua0gi to neuron if not enough neuron to cover", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12021000000002")))), sdkmath.NewInt(87), - sdkmath.NewInt(980_000_000_000_000_000), + sdkmath.NewInt(980_000_000_000), false, - sdkmath.NewInt(1_000_000_002_000_000), + sdkmath.NewInt(1_000_000_002), }, } @@ -473,8 +472,8 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { suite.Run(tt.name, func() { suite.SetupTest() startingCoins := sdk.NewCoins( - sdk.NewCoin(chaincfg.DisplayDenom, startingA0gi), - sdk.NewCoin(chaincfg.BaseDenom, tt.neuronStart), + sdk.NewCoin("ua0gi", startingA0gi), + sdk.NewCoin("neuron", tt.neuronStart), ) suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, startingCoins) @@ -486,8 +485,8 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { suite.Require().NoError(err) } - // check a0gi - a0giActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, chaincfg.DisplayDenom) + // check ua0gi + a0giActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, "ua0gi") suite.Require().Equal(tt.expA0gi, a0giActual.Amount) // check neuron @@ -500,30 +499,30 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { tests := []struct { name string mintCoins sdk.Coins - a0gi sdkmath.Int + ua0gi sdkmath.Int neuron sdkmath.Int hasErr bool neuronStart sdkmath.Int }{ { - "mint more than 1 a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("12021000000002000000")))), + "mint more than 1 ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12021000000002")))), sdkmath.NewInt(12), - sdkmath.NewInt(21_000_000_002_000_000), + sdkmath.NewInt(21_000_000_002), false, sdk.ZeroInt(), }, { - "mint less than 1 a0gi", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 901_000_000_001)), + "mint less than 1 ua0gi", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 901_000_000_001)), sdk.ZeroInt(), sdkmath.NewInt(901_000_000_001), false, sdk.ZeroInt(), }, { - "mint an exact amount of a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("123000000000000000000000")))), + "mint an exact amount of ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("123000000000000000")))), sdkmath.NewInt(123_000), sdk.ZeroInt(), false, @@ -531,7 +530,7 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { }, { "mint no neuron", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 0)), sdk.ZeroInt(), sdk.ZeroInt(), false, @@ -539,7 +538,7 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { }, { "errors if minting other coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("busd", 1000)), sdk.ZeroInt(), sdkmath.NewInt(100), true, @@ -548,8 +547,8 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), - sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), + sdk.NewInt64Coin("neuron", 12_000_000_000_000), + sdk.NewInt64Coin("neuron", 2_000_000_000_000), }, sdk.ZeroInt(), sdk.ZeroInt(), @@ -558,7 +557,7 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { }, { "errors if mint amount is negative", - sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-100)}}, + sdk.Coins{sdk.Coin{Denom: "neuron", Amount: sdkmath.NewInt(-100)}}, sdk.ZeroInt(), sdkmath.NewInt(50), true, @@ -566,27 +565,27 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { }, { "adds to existing neuron balance", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("12000000021000000002")))), + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12021000000002")))), sdkmath.NewInt(12), sdkmath.NewInt(21_000_000_102), false, sdkmath.NewInt(100), }, { - "convert neuron balance to a0gi if it exceeds 1 a0gi", - sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("10000000999000000000")))), - sdkmath.NewInt(11), - sdkmath.NewInt(1_001_200_000_001), + "convert neuron balance to ua0gi if it exceeds 1 ua0gi", + sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("10999000000000")))), + sdkmath.NewInt(12), + sdkmath.NewInt(1_200_000_001), false, - sdkmath.NewIntFromBigInt(makeBigIntByString("1000000002200000001")), + sdkmath.NewIntFromBigInt(makeBigIntByString("1002200000001")), }, } for _, tt := range tests { suite.Run(tt.name, func() { suite.SetupTest() - suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10))) - suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, tt.neuronStart))) + suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10))) + suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, sdk.NewCoins(sdk.NewCoin("neuron", tt.neuronStart))) err := suite.EvmBankKeeper.MintCoins(suite.Ctx, evmtypes.ModuleName, tt.mintCoins) if tt.hasErr { @@ -596,9 +595,9 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { suite.Require().NoError(err) } - // check a0gi - a0giActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, chaincfg.DisplayDenom) - suite.Require().Equal(tt.a0gi, a0giActual.Amount) + // check ua0gi + a0giActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, "ua0gi") + suite.Require().Equal(tt.ua0gi, a0giActual.Amount) // check neuron neuronActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) @@ -615,22 +614,22 @@ func (suite *evmBankKeeperTestSuite) TestValidateEvmCoins() { }{ { "valid coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 500)), false, }, { "dup coins", - sdk.Coins{sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin(chaincfg.BaseDenom, 500)}, + sdk.Coins{sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("neuron", 500)}, true, }, { "not evm coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 500)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 500)), true, }, { "negative coins", - sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-500)}}, + sdk.Coins{sdk.Coin{Denom: "neuron", Amount: sdkmath.NewInt(-500)}}, true, }, } @@ -655,21 +654,21 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneA0giToNeuronIfNeeded() { success bool }{ { - "not enough a0gi for conversion", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), + "not enough ua0gi for conversion", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100)), false, }, { - "converts 1 a0gi to neuron", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 9), sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("1000000000000000100")))), + "converts 1 ua0gi to neuron", + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewInt64Coin("neuron", 100)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 9), sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("1000000000100")))), true, }, { "conversion not needed", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 200)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 200)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewInt64Coin("neuron", 200)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewInt64Coin("neuron", 200)), true, }, } @@ -679,10 +678,10 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneA0giToNeuronIfNeeded() { suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingCoins) err := suite.EvmBankKeeper.ConvertOneUa0giToNeuronIfNeeded(suite.Ctx, suite.Addrs[0], neuronNeeded) - moduleZgChain := suite.BankKeeper.GetBalance(suite.Ctx, suite.AccountKeeper.GetModuleAddress(types.ModuleName), chaincfg.DisplayDenom) + moduleZgChain := suite.BankKeeper.GetBalance(suite.Ctx, suite.AccountKeeper.GetModuleAddress(types.ModuleName), "ua0gi") if tt.success { suite.Require().NoError(err) - if tt.startingCoins.AmountOf(chaincfg.BaseDenom).LT(neuronNeeded) { + if tt.startingCoins.AmountOf("neuron").LT(neuronNeeded) { suite.Require().Equal(sdk.OneInt(), moduleZgChain.Amount) } } else { @@ -691,9 +690,9 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneA0giToNeuronIfNeeded() { } neuron := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), neuron) - a0gi := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.DisplayDenom) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.DisplayDenom), a0gi.Amount) + suite.Require().Equal(tt.expectedCoins.AmountOf("neuron"), neuron) + ua0gi := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") + suite.Require().Equal(tt.expectedCoins.AmountOf("ua0gi"), ua0gi.Amount) }) } } @@ -704,34 +703,34 @@ func (suite *evmBankKeeperTestSuite) TestConvertNeuronToA0gi() { expectedCoins sdk.Coins }{ { - "not enough a0gi", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100), sdk.NewInt64Coin(chaincfg.DisplayDenom, 0)), + "not enough ua0gi", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 100), sdk.NewInt64Coin("ua0gi", 0)), }, { - "converts neuron for 1 a0gi", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10), sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("1000000000003000000")))), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 11), sdk.NewInt64Coin(chaincfg.BaseDenom, 3_000_000)), + "converts neuron for 1 ua0gi", + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("1000000000003")))), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 11), sdk.NewInt64Coin("neuron", 3)), }, { - "converts more than 1 a0gi of neuron", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10), sdk.NewCoin(chaincfg.BaseDenom, sdk.NewIntFromBigInt(makeBigIntByString("8000000000123000000")))), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 18), sdk.NewInt64Coin(chaincfg.BaseDenom, 123_000_000)), + "converts more than 1 ua0gi of neuron", + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("8000000000123")))), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 18), sdk.NewInt64Coin("neuron", 123)), }, } for _, tt := range tests { suite.Run(tt.name, func() { suite.SetupTest() - err := suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 10))) + err := suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10))) suite.Require().NoError(err) suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingCoins) err = suite.EvmBankKeeper.ConvertNeuronToUa0gi(suite.Ctx, suite.Addrs[0]) suite.Require().NoError(err) neuron := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), neuron) - a0gi := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.DisplayDenom) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.DisplayDenom), a0gi.Amount) + suite.Require().Equal(tt.expectedCoins.AmountOf("neuron"), neuron) + ua0gi := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") + suite.Require().Equal(tt.expectedCoins.AmountOf("ua0gi"), ua0gi.Amount) }) } } @@ -744,7 +743,7 @@ func (suite *evmBankKeeperTestSuite) TestSplitNeuronCoins() { }{ { "invalid coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 500)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 500)), nil, true, }, @@ -755,33 +754,33 @@ func (suite *evmBankKeeperTestSuite) TestSplitNeuronCoins() { false, }, { - "a0gi & neuron coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 8_000_000_000_000_000_123)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 8), sdk.NewInt64Coin(chaincfg.BaseDenom, 123)), + "ua0gi & neuron coins", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 8_000_000_000_123)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 8), sdk.NewInt64Coin("neuron", 123)), false, }, { "only neuron", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 10_123)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 10_123)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 10_123)), + sdk.NewCoins(sdk.NewInt64Coin("neuron", 10_123)), false, }, { - "only a0gi", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 5_000_000_000_000_000_000)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 5)), + "only ua0gi", + sdk.NewCoins(sdk.NewInt64Coin("neuron", 5_000_000_000_000)), + sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 5)), false, }, } for _, tt := range tests { suite.Run(tt.name, func() { - a0gi, neuron, err := keeper.SplitNeuronCoins(tt.coins) + ua0gi, neuron, err := keeper.SplitNeuronCoins(tt.coins) if tt.shouldErr { suite.Require().Error(err) } else { suite.Require().NoError(err) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.DisplayDenom), a0gi.Amount) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), neuron) + suite.Require().Equal(tt.expectedCoins.AmountOf("ua0gi"), ua0gi.Amount) + suite.Require().Equal(tt.expectedCoins.AmountOf("neuron"), neuron) } }) } diff --git a/x/evmutil/keeper/invariants_test.go b/x/evmutil/keeper/invariants_test.go index 3e6b941a..4756b66c 100644 --- a/x/evmutil/keeper/invariants_test.go +++ b/x/evmutil/keeper/invariants_test.go @@ -12,7 +12,6 @@ import ( "github.com/stretchr/testify/suite" "github.com/0glabs/0g-chain/app" - "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/keeper" "github.com/0glabs/0g-chain/x/evmutil/testutil" "github.com/0glabs/0g-chain/x/evmutil/types" @@ -161,7 +160,7 @@ func (suite *invariantTestSuite) TestSmallBalances() { // increase minor balance at least above conversion multiplier suite.Keeper.AddBalance(suite.Ctx, suite.Addrs[0], keeper.ConversionMultiplier) // add same number of a0gi to avoid breaking other invariants - amt := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.DisplayDenom, 1)) + amt := sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 1)) suite.Require().NoError( suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, amt), ) diff --git a/x/evmutil/testutil/suite.go b/x/evmutil/testutil/suite.go index eab494c8..45080657 100644 --- a/x/evmutil/testutil/suite.go +++ b/x/evmutil/testutil/suite.go @@ -37,7 +37,6 @@ import ( "github.com/stretchr/testify/suite" "github.com/0glabs/0g-chain/app" - "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/keeper" "github.com/0glabs/0g-chain/x/evmutil/types" ) @@ -82,7 +81,7 @@ func (suite *Suite) SetupTest() { suite.Addrs = addrs evmGenesis := evmtypes.DefaultGenesisState() - evmGenesis.Params.EvmDenom = chaincfg.EvmDenom + evmGenesis.Params.EvmDenom = keeper.EvmDenom feemarketGenesis := feemarkettypes.DefaultGenesisState() feemarketGenesis.Params.EnableHeight = 1