github.com/Finschia/finschia-sdk@v0.48.1/testutil/testdata/tx.go (about)

     1  package testdata
     2  
     3  import (
     4  	"encoding/json"
     5  
     6  	"github.com/stretchr/testify/require"
     7  
     8  	"github.com/Finschia/finschia-sdk/crypto/keys/secp256k1"
     9  	"github.com/Finschia/finschia-sdk/crypto/keys/secp256r1"
    10  	cryptotypes "github.com/Finschia/finschia-sdk/crypto/types"
    11  	sdk "github.com/Finschia/finschia-sdk/types"
    12  )
    13  
    14  // KeyTestPubAddr generates a new secp256k1 keypair.
    15  func KeyTestPubAddr() (cryptotypes.PrivKey, cryptotypes.PubKey, sdk.AccAddress) {
    16  	key := secp256k1.GenPrivKey()
    17  	pub := key.PubKey()
    18  	addr := sdk.AccAddress(pub.Address())
    19  	return key, pub, addr
    20  }
    21  
    22  // KeyTestPubAddr generates a new secp256r1 keypair.
    23  func KeyTestPubAddrSecp256R1(require *require.Assertions) (cryptotypes.PrivKey, cryptotypes.PubKey, sdk.AccAddress) {
    24  	key, err := secp256r1.GenPrivKey()
    25  	require.NoError(err)
    26  	pub := key.PubKey()
    27  	addr := sdk.AccAddress(pub.Address())
    28  	return key, pub, addr
    29  }
    30  
    31  // NewTestFeeAmount is a test fee amount.
    32  func NewTestFeeAmount() sdk.Coins {
    33  	return sdk.NewCoins(sdk.NewInt64Coin("atom", 150))
    34  }
    35  
    36  // NewTestGasLimit is a test fee gas limit.
    37  func NewTestGasLimit() uint64 {
    38  	return 200000
    39  }
    40  
    41  // NewTestMsg creates a message for testing with the given signers.
    42  func NewTestMsg(addrs ...sdk.AccAddress) *TestMsg {
    43  	var accAddresses []string
    44  
    45  	for _, addr := range addrs {
    46  		accAddresses = append(accAddresses, addr.String())
    47  	}
    48  
    49  	return &TestMsg{
    50  		Signers: accAddresses,
    51  	}
    52  }
    53  
    54  var _ sdk.Msg = (*TestMsg)(nil)
    55  
    56  func (msg *TestMsg) Route() string { return "TestMsg" }
    57  func (msg *TestMsg) Type() string  { return "Test message" }
    58  func (msg *TestMsg) GetSignBytes() []byte {
    59  	bz, err := json.Marshal(msg.Signers)
    60  	if err != nil {
    61  		panic(err)
    62  	}
    63  	return sdk.MustSortJSON(bz)
    64  }
    65  
    66  func (msg *TestMsg) GetSigners() []sdk.AccAddress {
    67  	addrs := make([]sdk.AccAddress, len(msg.Signers))
    68  	for i, in := range msg.Signers {
    69  		addr, err := sdk.AccAddressFromBech32(in)
    70  		if err != nil {
    71  			panic(err)
    72  		}
    73  
    74  		addrs[i] = addr
    75  	}
    76  
    77  	return addrs
    78  }
    79  func (msg *TestMsg) ValidateBasic() error { return nil }
    80  
    81  var _ sdk.Msg = &MsgCreateDog{}
    82  
    83  func (msg *MsgCreateDog) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{} }
    84  func (msg *MsgCreateDog) ValidateBasic() error         { return nil }