@@ -12,9 +12,9 @@ static const char MSG_PREFIX[] = "\x18" "Bitcoin Signed Message:\n";
1212static const char TAPTWEAK_BTC [] = "TapTweak" ;
1313#ifdef BUILD_ELEMENTS
1414static const char TAPTWEAK_ELEMENTS [] = "TapTweak/elements" ;
15- #define GET_TAPTWEAK ( flags ) ((flags & EC_FLAG_ELEMENTS) ? TAPTWEAK_ELEMENTS : TAPTWEAK_BTC)
15+ #define TAPTWEAK ( is_elements ) (is_elements) ? TAPTWEAK_ELEMENTS : TAPTWEAK_BTC
1616#else
17- #define GET_TAPTWEAK ( flags ) TAPTWEAK_BTC
17+ #define TAPTWEAK ( is_elements ) TAPTWEAK_BTC
1818#endif
1919
2020
@@ -139,13 +139,20 @@ static int get_bip341_tweak(const unsigned char *pub_key, size_t pub_key_len,
139139 unsigned char preimage [EC_XONLY_PUBLIC_KEY_LEN + SHA256_LEN ];
140140 const size_t offset = pub_key_len == EC_PUBLIC_KEY_LEN ? 1 : 0 ;
141141 const size_t preimage_len = merkle_root ? sizeof (preimage ) : EC_XONLY_PUBLIC_KEY_LEN ;
142- (void )flags ;
142+
143+ #ifdef BUILD_ELEMENTS
144+ if (flags & ~EC_FLAG_ELEMENTS )
145+ #else
146+ if (flags )
147+ #endif
148+ return WALLY_EINVAL ;
143149
144150 memcpy (preimage , pub_key + offset , EC_XONLY_PUBLIC_KEY_LEN );
145151 if (merkle_root )
146152 memcpy (preimage + EC_XONLY_PUBLIC_KEY_LEN , merkle_root , SHA256_LEN );
147153 return wally_bip340_tagged_hash (preimage , preimage_len ,
148- GET_TAPTWEAK (flags ), tweak , tweak_len );
154+ TAPTWEAK (flags & EC_FLAG_ELEMENTS ),
155+ tweak , tweak_len );
149156}
150157
151158int wally_ec_public_key_bip341_tweak (
@@ -157,11 +164,6 @@ int wally_ec_public_key_bip341_tweak(
157164 int ret ;
158165
159166 if (!pub_key || BYTES_INVALID_N (merkle_root , merkle_root_len , SHA256_LEN ) ||
160- #ifdef BUILD_ELEMENTS
161- (flags & ~EC_FLAG_ELEMENTS ) ||
162- #else
163- flags ||
164- #endif
165167 !bytes_out || len != EC_PUBLIC_KEY_LEN )
166168 return WALLY_EINVAL ;
167169
@@ -194,11 +196,6 @@ int wally_ec_private_key_bip341_tweak(
194196
195197 if (!priv_key || priv_key_len != EC_PRIVATE_KEY_LEN ||
196198 BYTES_INVALID_N (merkle_root , merkle_root_len , SHA256_LEN ) ||
197- #ifdef BUILD_ELEMENTS
198- (flags & ~EC_FLAG_ELEMENTS ) ||
199- #else
200- flags ||
201- #endif
202199 !bytes_out || len != EC_PRIVATE_KEY_LEN )
203200 return WALLY_EINVAL ;
204201
0 commit comments