github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/app/types/config_test.go (about) 1 package types 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/require" 7 8 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/crypto/keys/hd" 9 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 10 ) 11 12 func resetConfig(config *sdk.Config) { 13 config.SetBech32PrefixForAccount(sdk.Bech32PrefixAccAddr, sdk.Bech32PrefixAccPub) 14 config.SetBech32PrefixForValidator(sdk.Bech32PrefixValAddr, sdk.Bech32PrefixValPub) 15 config.SetBech32PrefixForConsensusNode(sdk.Bech32PrefixConsAddr, sdk.Bech32PrefixConsPub) 16 config.SetCoinType(sdk.CoinType) 17 config.SetFullFundraiserPath(sdk.FullFundraiserPath) 18 } 19 20 func TestSetBech32Prefixes(t *testing.T) { 21 config := sdk.GetConfig() 22 resetConfig(config) 23 24 require.Equal(t, sdk.Bech32PrefixAccAddr, config.GetBech32AccountAddrPrefix()) 25 require.Equal(t, sdk.Bech32PrefixAccPub, config.GetBech32AccountPubPrefix()) 26 require.Equal(t, sdk.Bech32PrefixValAddr, config.GetBech32ValidatorAddrPrefix()) 27 require.Equal(t, sdk.Bech32PrefixValPub, config.GetBech32ValidatorPubPrefix()) 28 require.Equal(t, sdk.Bech32PrefixConsAddr, config.GetBech32ConsensusAddrPrefix()) 29 require.Equal(t, sdk.Bech32PrefixConsPub, config.GetBech32ConsensusPubPrefix()) 30 31 SetBech32Prefixes(config) 32 require.Equal(t, Bech32PrefixAccAddr, config.GetBech32AccountAddrPrefix()) 33 require.Equal(t, Bech32PrefixAccPub, config.GetBech32AccountPubPrefix()) 34 require.Equal(t, Bech32PrefixValAddr, config.GetBech32ValidatorAddrPrefix()) 35 require.Equal(t, Bech32PrefixValPub, config.GetBech32ValidatorPubPrefix()) 36 require.Equal(t, Bech32PrefixConsAddr, config.GetBech32ConsensusAddrPrefix()) 37 require.Equal(t, Bech32PrefixConsPub, config.GetBech32ConsensusPubPrefix()) 38 39 require.Equal(t, sdk.GetConfig().GetBech32AccountAddrPrefix(), config.GetBech32AccountAddrPrefix()) 40 require.Equal(t, sdk.GetConfig().GetBech32AccountPubPrefix(), config.GetBech32AccountPubPrefix()) 41 require.Equal(t, sdk.GetConfig().GetBech32ValidatorAddrPrefix(), config.GetBech32ValidatorAddrPrefix()) 42 require.Equal(t, sdk.GetConfig().GetBech32ValidatorPubPrefix(), config.GetBech32ValidatorPubPrefix()) 43 require.Equal(t, sdk.GetConfig().GetBech32ConsensusAddrPrefix(), config.GetBech32ConsensusAddrPrefix()) 44 require.Equal(t, sdk.GetConfig().GetBech32ConsensusPubPrefix(), config.GetBech32ConsensusPubPrefix()) 45 } 46 47 func TestSetCoinType(t *testing.T) { 48 config := sdk.GetConfig() 49 resetConfig(config) 50 require.Equal(t, sdk.CoinType, int(config.GetCoinType())) 51 require.Equal(t, sdk.FullFundraiserPath, config.GetFullFundraiserPath()) 52 53 SetBip44CoinType(config) 54 require.Equal(t, Bip44CoinType, int(config.GetCoinType())) 55 require.Equal(t, sdk.GetConfig().GetCoinType(), config.GetCoinType()) 56 require.Equal(t, sdk.GetConfig().GetFullFundraiserPath(), config.GetFullFundraiserPath()) 57 } 58 59 func TestHDPath(t *testing.T) { 60 params := *hd.NewFundraiserParams(0, Bip44CoinType, 0) 61 // need to prepend "m/" because the below method provided by the sdk does not add the proper prepending 62 hdPath := params.String() 63 require.Equal(t, "m/44'/996'/0'/0/0", hdPath) 64 require.Equal(t, "m/44'/60'/0'/0/0", BIP44HDPath) 65 }