@@ -5,48 +5,50 @@ defmodule Bls do
5
5
use Rustler , otp_app: :lambda_ethereum_consensus , crate: "bls_nif"
6
6
7
7
@ type privkey ( ) :: << _ :: 256 >>
8
+ @ type pubkey :: << _ :: 384 >>
9
+ @ type signature :: << _ :: 768 >>
8
10
9
- @ spec sign ( privkey ( ) , binary ( ) ) :: { :ok , Types . bls_signature ( ) } | { :error , any ( ) }
11
+ @ spec sign ( privkey ( ) , binary ( ) ) :: { :ok , signature ( ) } | { :error , any ( ) }
10
12
def sign ( _private_key , _message ) do
11
13
:erlang . nif_error ( :nif_not_loaded )
12
14
end
13
15
14
- @ spec aggregate ( [ Types . bls_signature ( ) ] ) :: { :ok , Types . bls_signature ( ) } | { :error , any ( ) }
16
+ @ spec aggregate ( [ signature ( ) ] ) :: { :ok , signature ( ) } | { :error , any ( ) }
15
17
def aggregate ( _signatures ) do
16
18
:erlang . nif_error ( :nif_not_loaded )
17
19
end
18
20
19
- @ spec verify ( Types . bls_pubkey ( ) , binary ( ) , Types . bls_signature ( ) ) ::
21
+ @ spec verify ( pubkey ( ) , binary ( ) , signature ( ) ) ::
20
22
{ :ok , boolean } | { :error , binary ( ) }
21
23
def verify ( _public_key , _message , _signature ) do
22
24
:erlang . nif_error ( :nif_not_loaded )
23
25
end
24
26
25
- @ spec fast_aggregate_verify ( [ Types . bls_pubkey ( ) ] , binary ( ) , Types . bls_signature ( ) ) ::
27
+ @ spec fast_aggregate_verify ( [ pubkey ( ) ] , binary ( ) , signature ( ) ) ::
26
28
{ :ok , boolean } | { :error , binary ( ) }
27
29
def fast_aggregate_verify ( _public_keys , _message , _signature ) do
28
30
:erlang . nif_error ( :nif_not_loaded )
29
31
end
30
32
31
- @ spec eth_fast_aggregate_verify ( [ Types . bls_pubkey ( ) ] , binary ( ) , Types . bls_signature ( ) ) ::
33
+ @ spec eth_fast_aggregate_verify ( [ pubkey ( ) ] , binary ( ) , signature ( ) ) ::
32
34
{ :ok , boolean } | { :error , binary ( ) }
33
35
def eth_fast_aggregate_verify ( _public_keys , _message , _signature ) do
34
36
:erlang . nif_error ( :nif_not_loaded )
35
37
end
36
38
37
- @ spec aggregate_verify ( [ Types . bls_pubkey ( ) ] , [ binary ( ) ] , Types . bls_signature ( ) ) ::
39
+ @ spec aggregate_verify ( [ pubkey ( ) ] , [ binary ( ) ] , signature ( ) ) ::
38
40
{ :ok , boolean } | { :error , binary ( ) }
39
41
def aggregate_verify ( _public_keys , _messages , _signature ) do
40
42
:erlang . nif_error ( :nif_not_loaded )
41
43
end
42
44
43
- @ spec eth_aggregate_pubkeys ( [ Types . bls_pubkey ( ) ] ) ::
44
- { :ok , Types . bls_pubkey ( ) } | { :error , any ( ) }
45
+ @ spec eth_aggregate_pubkeys ( [ pubkey ( ) ] ) ::
46
+ { :ok , pubkey ( ) } | { :error , any ( ) }
45
47
def eth_aggregate_pubkeys ( _public_keys ) do
46
48
:erlang . nif_error ( :nif_not_loaded )
47
49
end
48
50
49
- @ spec key_validate ( Types . bls_pubkey ( ) ) ::
51
+ @ spec key_validate ( pubkey ( ) ) ::
50
52
{ :ok , boolean } | { :error , binary ( ) }
51
53
def key_validate ( _public_key ) do
52
54
:erlang . nif_error ( :nif_not_loaded )
@@ -56,7 +58,7 @@ defmodule Bls do
56
58
@ doc """
57
59
Same as ``Bls.verify``, but treats errors as invalid signatures.
58
60
"""
59
- @ spec valid? ( Types . bls_pubkey ( ) , binary ( ) , Types . bls_signature ( ) ) :: boolean ( )
61
+ @ spec valid? ( pubkey ( ) , binary ( ) , signature ( ) ) :: boolean ( )
60
62
def valid? ( public_key , message , signature ) do
61
63
case Bls . verify ( public_key , message , signature ) do
62
64
{ :ok , bool } -> bool
@@ -68,7 +70,7 @@ defmodule Bls do
68
70
@ doc """
69
71
Same as ``Bls.fast_aggregate_verify``, but treats errors as invalid signatures.
70
72
"""
71
- @ spec fast_aggregate_valid? ( [ Types . bls_pubkey ( ) ] , binary ( ) , Types . bls_signature ( ) ) :: boolean ( )
73
+ @ spec fast_aggregate_valid? ( [ pubkey ( ) ] , binary ( ) , signature ( ) ) :: boolean ( )
72
74
def fast_aggregate_valid? ( public_keys , message , signature ) do
73
75
case Bls . fast_aggregate_verify ( public_keys , message , signature ) do
74
76
{ :ok , bool } -> bool
0 commit comments