rbsecp256k1 5.1.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,5 +25,12 @@ module Secp256k1
25
25
  def generate_key_pair
26
26
  key_pair_from_private_key(SecureRandom.random_bytes(32))
27
27
  end
28
+
29
+ # Create Schnorr signature generating auxrand.
30
+ #
31
+ # @return [Secp256k1::SchnorrSignature] schnorr signature
32
+ def sign_schnorr(keypair, message)
33
+ sign_schnorr_custom(keypair, message, SecureRandom.random_bytes(32))
34
+ end
28
35
  end
29
36
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Secp256k1
4
- VERSION = '5.1.0'
4
+ VERSION = '6.0.0'
5
5
  end
data/lib/rbsecp256k1.rb CHANGED
@@ -7,4 +7,8 @@ end
7
7
  require 'rbsecp256k1/context'
8
8
  require 'rbsecp256k1/util'
9
9
  require 'rbsecp256k1/version'
10
+
11
+ # The ext directory is where the compiled shared object files go for native
12
+ # extension gems. Rubygems adds this to the LOAD_PATH so we should just need to
13
+ # explicitly require the shared object
10
14
  require 'rbsecp256k1/rbsecp256k1'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbsecp256k1
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 6.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Scrivner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-01 00:00:00.000000000 Z
11
+ date: 2023-01-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mini_portile2
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.7'
19
+ version: '2.8'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.7'
26
+ version: '2.8'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pkg-config
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.4'
33
+ version: '1.5'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.4'
40
+ version: '1.5'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rubyzip
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '2.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: keccak
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +86,14 @@ dependencies:
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '1.1'
89
+ version: '1.2'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '1.1'
96
+ version: '1.2'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rspec
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +122,20 @@ dependencies:
108
122
  - - '='
109
123
  - !ruby/object:Gem::Version
110
124
  version: '0.78'
125
+ - !ruby/object:Gem::Dependency
126
+ name: ruby_memcheck
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.2'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.2'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: yard
113
141
  requirement: !ruby/object:Gem::Requirement
@@ -137,10 +165,12 @@ files:
137
165
  - documentation/private_key.md
138
166
  - documentation/public_key.md
139
167
  - documentation/recoverable_signature.md
168
+ - documentation/schnorr_signature.md
140
169
  - documentation/secp256k1.md
141
170
  - documentation/shared_secret.md
142
171
  - documentation/signature.md
143
172
  - documentation/util.md
173
+ - documentation/xonly_public_key.md
144
174
  - ext/rbsecp256k1/extconf.rb
145
175
  - ext/rbsecp256k1/rbsecp256k1.c
146
176
  - lib/rbsecp256k1.rb
@@ -167,9 +197,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
197
  - !ruby/object:Gem::Version
168
198
  version: '0'
169
199
  requirements: []
170
- rubygems_version: 3.0.1
200
+ rubygems_version: 3.4.1
171
201
  signing_key:
172
202
  specification_version: 4
173
- summary: Native extension gem for secp256k1 ECDSA. Wraps libsecp256k1. In rbsecp256k1
174
- 3.0.0 and later libsecp256k1 is bundled with the gem.
203
+ summary: Native extension gem for secp256k1 ECDSA and Schnorr signatures. Wraps libsecp256k1
204
+ natively without any need for FFI.
175
205
  test_files: []