github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/ammswap/test_common.go (about)

     1  package ammswap
     2  
     3  import (
     4  	sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types"
     5  	swapkeeper "github.com/fibonacci-chain/fbc/x/ammswap/keeper"
     6  	"github.com/fibonacci-chain/fbc/x/ammswap/types"
     7  	"github.com/stretchr/testify/require"
     8  	"testing"
     9  	"time"
    10  )
    11  
    12  func NewTestSwapTokenPairWithInitLiquidity(t *testing.T, ctx sdk.Context, k swapkeeper.Keeper,
    13  	baseToken, quoteToken sdk.DecCoin, addrList []sdk.AccAddress) SwapTokenPair {
    14  	handler := NewHandler(k)
    15  
    16  	createExchangeMsg := types.NewMsgCreateExchange(baseToken.Denom, quoteToken.Denom, addrList[0])
    17  	_, err := handler(ctx, createExchangeMsg)
    18  	require.Nil(t, err)
    19  	deadLine := time.Now().Unix()
    20  	addLiquidityMsg := types.NewMsgAddLiquidity(sdk.NewDec(0), baseToken, quoteToken, deadLine, addrList[0])
    21  	_, err = handler(ctx, addLiquidityMsg)
    22  	require.Nil(t, err)
    23  	for _, addr := range addrList {
    24  		baseToken1 := sdk.NewDecCoinFromDec(baseToken.Denom, baseToken.Amount.Mul(sdk.NewDec(100)))
    25  		quoteToken1 := sdk.NewDecCoinFromDec(quoteToken.Denom, quoteToken.Amount.Mul(sdk.NewDec(100)))
    26  		addLiquidityMsg := types.NewMsgAddLiquidity(sdk.NewDec(0), baseToken1, quoteToken1, deadLine, addr)
    27  		_, err = handler(ctx, addLiquidityMsg)
    28  		require.Nil(t, err)
    29  	}
    30  
    31  	swapTokenPair, err := k.GetSwapTokenPair(ctx, types.GetSwapTokenPairName(baseToken.Denom, quoteToken.Denom))
    32  	require.Nil(t, err)
    33  
    34  	return swapTokenPair
    35  }