rbsecp256k1 5.0.1 → 5.1.1
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.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/Rakefile +12 -1
- data/ext/rbsecp256k1/extconf.rb +5 -4
- data/ext/rbsecp256k1/rbsecp256k1.c +1 -1
- data/lib/rbsecp256k1/version.rb +1 -1
- data/lib/rbsecp256k1.rb +4 -0
- metadata +27 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f0c0d659103f52aa0a9762d464bfacd9a656d90dfd38815b7b954c863aa5bb2
|
4
|
+
data.tar.gz: 7e74a91710993a87a4a931be6091e16af32960e91ebe67a731ffb0ee498593ba
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 69cdae2b446230a9908aa0b799b4c36d09bf5486c118468a43be4ffa128f304e7cf608bab222bebb8acdbb1bf7848619dd2a55e583ce07b14a851d3657cc0d6b
|
7
|
+
data.tar.gz: 52b48f20f66ac1635358e924fcc9a1c47bf53962610ecbaca099611d69c42d994f4c8c886a172ed1e3402c241be86e6977edd9b674960b1f5acedc30c5d8326a
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# rbsecp256k1
|
2
2
|
|
3
|
-
[](https://github.com/etscrivner/rbsecp256k1/actions/workflows/spec.yml) [](https://badge.fury.io/rb/rbsecp256k1) [](https://codeclimate.com/github/etscrivner/rbsecp256k1/maintainability)
|
4
4
|
|
5
5
|
Native extension gem for secp256k1 ECDSA. Wraps [libsecp256k1](https://github.com/bitcoin-core/secp256k1). In
|
6
6
|
rbsecp256k1 3.0.0 and later libsecp256k1 is bundled with the gem.
|
@@ -43,7 +43,7 @@ Install the dependencies for building libsecp256k1 and this library:
|
|
43
43
|
|
44
44
|
```
|
45
45
|
sudo apt-get install build-essential automake pkg-config libtool \
|
46
|
-
libffi-dev libssl-dev libgmp-dev
|
46
|
+
libffi-dev libssl-dev libgmp-dev python3-dev
|
47
47
|
```
|
48
48
|
|
49
49
|
**NOTE:** If you have installed libsecp256k1 but the gem cannot find it. Ensure
|
@@ -54,7 +54,7 @@ you have run `ldconfig` so that your library load paths have been updated.
|
|
54
54
|
Dependencies for building libsecp256k1 and this library:
|
55
55
|
|
56
56
|
```
|
57
|
-
brew install openssl libtool pkg-config gmp libffi
|
57
|
+
brew install automake openssl libtool pkg-config gmp libffi
|
58
58
|
```
|
59
59
|
|
60
60
|
## Features
|
data/Rakefile
CHANGED
@@ -1,7 +1,18 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "rake/extensiontask"
|
4
|
+
require "ruby_memcheck"
|
5
|
+
require "rspec/core/rake_task"
|
6
|
+
require 'ruby_memcheck/rspec/rake_task'
|
4
7
|
|
8
|
+
RubyMemcheck.config(binary_name: "rbsecp256k1")
|
9
|
+
|
10
|
+
# See: https://guides.rubygems.org/gems-with-extensions/
|
5
11
|
Rake::ExtensionTask.new "rbsecp256k1" do |ext|
|
6
|
-
ext.lib_dir =
|
12
|
+
ext.lib_dir = 'lib/rbsecp256k1'
|
13
|
+
end
|
14
|
+
|
15
|
+
RSpec::Core::RakeTask.new(:spec)
|
16
|
+
namespace :spec do
|
17
|
+
RubyMemcheck::RSpec::RakeTask.new(valgrind: :spec)
|
7
18
|
end
|
data/ext/rbsecp256k1/extconf.rb
CHANGED
@@ -6,11 +6,11 @@ require 'zip'
|
|
6
6
|
|
7
7
|
# Recipe for downloading and building libsecp256k1 as part of installation
|
8
8
|
class Secp256k1Recipe < MiniPortile
|
9
|
-
# Hard-coded URL for libsecp256k1 zipfile (HEAD of master as of
|
10
|
-
LIBSECP256K1_ZIP_URL = 'https://github.com/bitcoin-core/secp256k1/archive/
|
9
|
+
# Hard-coded URL for libsecp256k1 zipfile (HEAD of master as of 24-11-2021)
|
10
|
+
LIBSECP256K1_ZIP_URL = 'https://github.com/bitcoin-core/secp256k1/archive/fecf436d5327717801da84beb3066f5a9b80ea8e.zip'
|
11
11
|
|
12
12
|
# Expected SHA-256 of the zipfile above (computed using sha256sum)
|
13
|
-
LIBSECP256K1_SHA256 = '
|
13
|
+
LIBSECP256K1_SHA256 = '188c6252ab9e829da02c962fe59a329f798c615577ac128ae1f0697126ebb2fc'
|
14
14
|
|
15
15
|
WITH_RECOVERY = ENV.fetch('WITH_RECOVERY', '1') == '1'
|
16
16
|
WITH_ECDH = ENV.fetch('WITH_ECDH', '1') == '1'
|
@@ -112,4 +112,5 @@ have_header('secp256k1_recovery.h')
|
|
112
112
|
# Check if we have EC Diffie-Hellman functionality
|
113
113
|
have_header('secp256k1_ecdh.h')
|
114
114
|
|
115
|
-
|
115
|
+
# See: https://guides.rubygems.org/gems-with-extensions/
|
116
|
+
create_makefile('rbsecp256k1/rbsecp256k1')
|
data/lib/rbsecp256k1/version.rb
CHANGED
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.
|
4
|
+
version: 5.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Scrivner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-12-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: mini_portile2
|
@@ -16,70 +16,70 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2.
|
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.
|
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.
|
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.
|
40
|
+
version: '1.5'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rubyzip
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '2.
|
47
|
+
version: '2.3'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '2.
|
54
|
+
version: '2.3'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '13.0'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '13.0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake-compiler
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '1.
|
75
|
+
version: '1.2'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
82
|
+
version: '1.2'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +108,20 @@ dependencies:
|
|
108
108
|
- - '='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0.78'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: ruby_memcheck
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "~>"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '1.2'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "~>"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '1.2'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
126
|
name: yard
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
@@ -167,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
167
181
|
- !ruby/object:Gem::Version
|
168
182
|
version: '0'
|
169
183
|
requirements: []
|
170
|
-
rubygems_version: 3.
|
184
|
+
rubygems_version: 3.4.1
|
171
185
|
signing_key:
|
172
186
|
specification_version: 4
|
173
187
|
summary: Native extension gem for secp256k1 ECDSA. Wraps libsecp256k1. In rbsecp256k1
|