github.com/Finschia/finschia-sdk@v0.48.1/x/auth/legacy/legacytx/amino_signing_test.go (about)

     1  package legacytx
     2  
     3  import (
     4  	"testing"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	"github.com/Finschia/finschia-sdk/crypto/keys/secp256k1"
     9  	"github.com/Finschia/finschia-sdk/testutil/testdata"
    10  	sdk "github.com/Finschia/finschia-sdk/types"
    11  	signingtypes "github.com/Finschia/finschia-sdk/types/tx/signing"
    12  	"github.com/Finschia/finschia-sdk/x/auth/signing"
    13  )
    14  
    15  func TestLegacyAminoJSONHandler_GetSignBytes(t *testing.T) {
    16  	priv1 := secp256k1.GenPrivKey()
    17  	addr1 := sdk.AccAddress(priv1.PubKey().Address())
    18  	priv2 := secp256k1.GenPrivKey()
    19  	addr2 := sdk.AccAddress(priv2.PubKey().Address())
    20  
    21  	coins := sdk.Coins{sdk.NewInt64Coin("foocoin", 10)}
    22  
    23  	fee := StdFee{
    24  		Amount: coins,
    25  		Gas:    10000,
    26  	}
    27  	memo := "foo"
    28  	msgs := []sdk.Msg{
    29  		testdata.NewTestMsg(addr1, addr2),
    30  	}
    31  
    32  	var (
    33  		chainId              = "test-chain"
    34  		accNum        uint64 = 7
    35  		seqNum        uint64 = 7
    36  		timeoutHeight uint64 = 10
    37  	)
    38  
    39  	tx := StdTx{
    40  		Msgs:          msgs,
    41  		Fee:           fee,
    42  		Signatures:    nil,
    43  		Memo:          memo,
    44  		TimeoutHeight: timeoutHeight,
    45  	}
    46  
    47  	handler := stdTxSignModeHandler{}
    48  	signingData := signing.SignerData{
    49  		ChainID:       chainId,
    50  		AccountNumber: accNum,
    51  		Sequence:      seqNum,
    52  	}
    53  	signBz, err := handler.GetSignBytes(signingtypes.SignMode_SIGN_MODE_LEGACY_AMINO_JSON, signingData, tx)
    54  	require.NoError(t, err)
    55  
    56  	expectedSignBz := StdSignBytes(chainId, accNum, seqNum, timeoutHeight, fee, msgs, memo)
    57  
    58  	require.Equal(t, expectedSignBz, signBz)
    59  
    60  	// expect error with wrong sign mode
    61  	_, err = handler.GetSignBytes(signingtypes.SignMode_SIGN_MODE_DIRECT, signingData, tx)
    62  	require.Error(t, err)
    63  }
    64  
    65  func TestLegacyAminoJSONHandler_DefaultMode(t *testing.T) {
    66  	handler := stdTxSignModeHandler{}
    67  	require.Equal(t, signingtypes.SignMode_SIGN_MODE_LEGACY_AMINO_JSON, handler.DefaultMode())
    68  }
    69  
    70  func TestLegacyAminoJSONHandler_Modes(t *testing.T) {
    71  	handler := stdTxSignModeHandler{}
    72  	require.Equal(t, []signingtypes.SignMode{signingtypes.SignMode_SIGN_MODE_LEGACY_AMINO_JSON}, handler.Modes())
    73  }