@@ -10,6 +10,7 @@ import (
10
10
"github.com/babylonchain/babylon/btcstaking"
11
11
12
12
"github.com/btcsuite/btcd/btcec/v2"
13
+ "github.com/btcsuite/btcd/btcec/v2/schnorr"
13
14
"github.com/btcsuite/btcd/btcutil"
14
15
"github.com/btcsuite/btcd/chaincfg"
15
16
"github.com/btcsuite/btcd/wire"
@@ -122,7 +123,7 @@ func getBtcNetworkParams(network string) (*chaincfg.Params, error) {
122
123
}
123
124
}
124
125
125
- func parsePubKeyFromHex (pkHex string ) (* btcec.PublicKey , error ) {
126
+ func parse33PubKeyFromHex (pkHex string ) (* btcec.PublicKey , error ) {
126
127
pkBytes , err := hex .DecodeString (pkHex )
127
128
if err != nil {
128
129
return nil , err
@@ -136,11 +137,25 @@ func parsePubKeyFromHex(pkHex string) (*btcec.PublicKey, error) {
136
137
return pk , nil
137
138
}
138
139
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
+
139
154
func parseCovenantKeysFromSlice (covenantMembersPks []string ) ([]* btcec.PublicKey , error ) {
140
155
covenantPubKeys := make ([]* btcec.PublicKey , len (covenantMembersPks ))
141
156
142
157
for i , fpPk := range covenantMembersPks {
143
- covPk , err := parsePubKeyFromHex (fpPk )
158
+ covPk , err := parse33PubKeyFromHex (fpPk )
144
159
145
160
if err != nil {
146
161
return nil , err
@@ -237,13 +252,13 @@ var createStakingTxCmd = &cobra.Command{
237
252
return err
238
253
}
239
254
240
- stakerPk , err := parsePubKeyFromHex (mustGetStringFlag (cmd , FlagStakerPk ))
255
+ stakerPk , err := parse32PubKeyFromHex (mustGetStringFlag (cmd , FlagStakerPk ))
241
256
242
257
if err != nil {
243
258
return err
244
259
}
245
260
246
- finalityProviderPk , err := parsePubKeyFromHex (mustGetStringFlag (cmd , FlagFinalityProviderPk ))
261
+ finalityProviderPk , err := parse32PubKeyFromHex (mustGetStringFlag (cmd , FlagFinalityProviderPk ))
247
262
248
263
if err != nil {
249
264
return err
0 commit comments