17
17
#include "../../hash.h"
18
18
#include "../../util.h"
19
19
20
- static void secp256k1_point_save (unsigned char * data , secp256k1_ge * ge ) {
21
- if (sizeof (secp256k1_ge_storage ) == 64 ) {
22
- secp256k1_ge_storage s ;
23
- secp256k1_ge_to_storage (& s , ge );
24
- memcpy (data , & s , sizeof (s ));
25
- } else {
26
- VERIFY_CHECK (!secp256k1_ge_is_infinity (ge ));
27
- secp256k1_fe_normalize_var (& ge -> x );
28
- secp256k1_fe_normalize_var (& ge -> y );
29
- secp256k1_fe_get_b32 (data , & ge -> x );
30
- secp256k1_fe_get_b32 (data + 32 , & ge -> y );
31
- }
32
- }
33
-
34
- static void secp256k1_point_load (secp256k1_ge * ge , const unsigned char * data ) {
35
- if (sizeof (secp256k1_ge_storage ) == 64 ) {
36
- /* When the secp256k1_ge_storage type is exactly 64 byte, use its
37
- * representation as conversion is very fast. */
38
- secp256k1_ge_storage s ;
39
- memcpy (& s , data , sizeof (s ));
40
- secp256k1_ge_from_storage (ge , & s );
41
- } else {
42
- /* Otherwise, fall back to 32-byte big endian for X and Y. */
43
- secp256k1_fe x , y ;
44
- int ret = 1 ;
45
- ret &= secp256k1_fe_set_b32_limit (& x , data );
46
- ret &= secp256k1_fe_set_b32_limit (& y , data + 32 );
47
- VERIFY_CHECK (ret );
48
- secp256k1_ge_set_xy (ge , & x , & y );
49
- }
50
- }
51
-
52
20
static void secp256k1_point_save_ext (unsigned char * data , secp256k1_ge * ge ) {
53
21
if (secp256k1_ge_is_infinity (ge )) {
54
22
memset (data , 0 , 64 );
55
23
} else {
56
- secp256k1_point_save (data , ge );
24
+ secp256k1_ge_to_bytes (data , ge );
57
25
}
58
26
}
59
27
@@ -62,7 +30,7 @@ static void secp256k1_point_load_ext(secp256k1_ge *ge, const unsigned char *data
62
30
if (secp256k1_memcmp_var (data , zeros , sizeof (zeros )) == 0 ) {
63
31
secp256k1_ge_set_infinity (ge );
64
32
} else {
65
- secp256k1_point_load (ge , data );
33
+ secp256k1_ge_from_bytes (ge , data );
66
34
}
67
35
}
68
36
@@ -82,7 +50,7 @@ static void secp256k1_keyagg_cache_save(secp256k1_musig_keyagg_cache *cache, sec
82
50
unsigned char * ptr = cache -> data ;
83
51
memcpy (ptr , secp256k1_musig_keyagg_cache_magic , 4 );
84
52
ptr += 4 ;
85
- secp256k1_point_save (ptr , & cache_i -> pk );
53
+ secp256k1_ge_to_bytes (ptr , & cache_i -> pk );
86
54
ptr += 64 ;
87
55
secp256k1_point_save_ext (ptr , & cache_i -> second_pk );
88
56
ptr += 64 ;
@@ -97,7 +65,7 @@ static int secp256k1_keyagg_cache_load(const secp256k1_context* ctx, secp256k1_k
97
65
const unsigned char * ptr = cache -> data ;
98
66
ARG_CHECK (secp256k1_memcmp_var (ptr , secp256k1_musig_keyagg_cache_magic , 4 ) == 0 );
99
67
ptr += 4 ;
100
- secp256k1_point_load (& cache_i -> pk , ptr );
68
+ secp256k1_ge_from_bytes (& cache_i -> pk , ptr );
101
69
ptr += 64 ;
102
70
secp256k1_point_load_ext (& cache_i -> second_pk , ptr );
103
71
ptr += 64 ;
0 commit comments