github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/crypto/keys/output_test.go (about) 1 package keys 2 3 import ( 4 "testing" 5 6 "github.com/ethereum/go-ethereum/common" 7 "github.com/fibonacci-chain/fbc/libs/tendermint/crypto" 8 "github.com/fibonacci-chain/fbc/libs/tendermint/crypto/multisig" 9 "github.com/fibonacci-chain/fbc/libs/tendermint/crypto/secp256k1" 10 "github.com/stretchr/testify/require" 11 12 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 13 ) 14 15 func TestBech32KeysOutput(t *testing.T) { 16 tmpKey := secp256k1.GenPrivKey().PubKey() 17 bechTmpKey := sdk.MustBech32ifyPubKey(sdk.Bech32PubKeyTypeAccPub, tmpKey) 18 tmpAddr := sdk.AccAddress(tmpKey.Address().Bytes()) 19 20 multisigPks := multisig.NewPubKeyMultisigThreshold(1, []crypto.PubKey{tmpKey}) 21 multiInfo := NewMultiInfo("multisig", multisigPks) 22 accAddr := sdk.AccAddress(multiInfo.GetPubKey().Address().Bytes()) 23 bechPubKey := sdk.MustBech32ifyPubKey(sdk.Bech32PubKeyTypeAccPub, multiInfo.GetPubKey()) 24 25 expectedOutput := NewKeyOutput(multiInfo.GetName(), multiInfo.GetType().String(), accAddr.String(), bechPubKey) 26 expectedOutput.EthAddress = common.BytesToAddress(accAddr).Hex() 27 expectedOutput.OperAddress = sdk.ValAddress(accAddr).String() 28 expectedOutput.Threshold = 1 29 expectedOutput.PubKeys = []multisigPubKeyOutput{{tmpAddr.String(), bechTmpKey, 1}} 30 31 outputs, err := Bech32KeysOutput([]Info{multiInfo}) 32 require.NoError(t, err) 33 require.Equal(t, expectedOutput, outputs[0]) 34 }