Skip to content

Commit e763c0d

Browse files
Fix key parsing (#22)
1 parent 9b514d1 commit e763c0d

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

cmd/createStakingTxCmd.go

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import (
1010
"github.com/babylonchain/babylon/btcstaking"
1111

1212
"github.com/btcsuite/btcd/btcec/v2"
13+
"github.com/btcsuite/btcd/btcec/v2/schnorr"
1314
"github.com/btcsuite/btcd/btcutil"
1415
"github.com/btcsuite/btcd/chaincfg"
1516
"github.com/btcsuite/btcd/wire"
@@ -122,7 +123,7 @@ func getBtcNetworkParams(network string) (*chaincfg.Params, error) {
122123
}
123124
}
124125

125-
func parsePubKeyFromHex(pkHex string) (*btcec.PublicKey, error) {
126+
func parse33PubKeyFromHex(pkHex string) (*btcec.PublicKey, error) {
126127
pkBytes, err := hex.DecodeString(pkHex)
127128
if err != nil {
128129
return nil, err
@@ -136,11 +137,25 @@ func parsePubKeyFromHex(pkHex string) (*btcec.PublicKey, error) {
136137
return pk, nil
137138
}
138139

140+
func parse32PubKeyFromHex(pkHex string) (*btcec.PublicKey, error) {
141+
pkBytes, err := hex.DecodeString(pkHex)
142+
if err != nil {
143+
return nil, err
144+
}
145+
146+
pk, err := schnorr.ParsePubKey(pkBytes)
147+
if err != nil {
148+
return nil, err
149+
}
150+
151+
return pk, nil
152+
}
153+
139154
func parseCovenantKeysFromSlice(covenantMembersPks []string) ([]*btcec.PublicKey, error) {
140155
covenantPubKeys := make([]*btcec.PublicKey, len(covenantMembersPks))
141156

142157
for i, fpPk := range covenantMembersPks {
143-
covPk, err := parsePubKeyFromHex(fpPk)
158+
covPk, err := parse33PubKeyFromHex(fpPk)
144159

145160
if err != nil {
146161
return nil, err
@@ -237,13 +252,13 @@ var createStakingTxCmd = &cobra.Command{
237252
return err
238253
}
239254

240-
stakerPk, err := parsePubKeyFromHex(mustGetStringFlag(cmd, FlagStakerPk))
255+
stakerPk, err := parse32PubKeyFromHex(mustGetStringFlag(cmd, FlagStakerPk))
241256

242257
if err != nil {
243258
return err
244259
}
245260

246-
finalityProviderPk, err := parsePubKeyFromHex(mustGetStringFlag(cmd, FlagFinalityProviderPk))
261+
finalityProviderPk, err := parse32PubKeyFromHex(mustGetStringFlag(cmd, FlagFinalityProviderPk))
247262

248263
if err != nil {
249264
return err

0 commit comments

Comments
 (0)