sr25519 0.7.0 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/ed25519_lib.rb +17 -8
- data/lib/sr25519/version.rb +1 -1
- data/lib/sr25519_lib.rb +28 -17
- data/sr25519.gemspec +3 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f850eb36c7764e13d17631a64774c526e4358d6943d22148e8fe73ef3dc4fba1
|
4
|
+
data.tar.gz: 23599472953b497a43cd86b4f3352315bb5b5fca9b8ee26fead4c8f3ee50a672
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 868da7d03a1d747a65d093704c160f37e61714aa273f186da73ed38587ccd08bbfbc20df40e2d6344ee2d305a2f83f7d6e1876fe4ed5433dd60faf8ec53a5962
|
7
|
+
data.tar.gz: 97679a83b7680568aaf8a709ce165fd24af6e048e114b4a43b75c06971abf5eedbfb2ac0aa717e3ac50f4df9c3cdc8440149ac08b75f9f7f835eaed6262ca4bd
|
data/Gemfile.lock
CHANGED
data/lib/ed25519_lib.rb
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
require "ed25519"
|
2
2
|
class ED25519
|
3
3
|
|
4
|
-
|
5
|
-
#
|
6
|
-
#
|
4
|
+
# Sign the given message
|
5
|
+
# @param message [String] the message
|
6
|
+
# @param key_pair [Class] ED25519 keypair
|
7
|
+
# @return [String] sign result as a hex string
|
8
|
+
# @example
|
7
9
|
# message = "Hello world"
|
8
10
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
9
11
|
# keypair = ED25519.keypair_from_seed(seed)
|
@@ -14,8 +16,11 @@ class ED25519
|
|
14
16
|
end
|
15
17
|
|
16
18
|
##
|
17
|
-
# Verify the sign result
|
18
|
-
#
|
19
|
+
# Verify the sign result
|
20
|
+
# @param message [String] the message
|
21
|
+
# @param key_pair [Class] ED25519 keypair
|
22
|
+
# @return [String] sign result as a hex string
|
23
|
+
# @example
|
19
24
|
# message = "Hello world"
|
20
25
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
21
26
|
# public_key = ED25519.get_public_key_from_seed(seed)
|
@@ -41,7 +46,9 @@ class ED25519
|
|
41
46
|
|
42
47
|
##
|
43
48
|
# Generate ED25519 keypair
|
44
|
-
#
|
49
|
+
# @param seed [String] private key
|
50
|
+
# @return [Class] ED25519 keypair
|
51
|
+
# @example
|
45
52
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
46
53
|
# keypair = ED25519.keypair_from_seed(seed)
|
47
54
|
|
@@ -55,8 +62,10 @@ class ED25519
|
|
55
62
|
end
|
56
63
|
|
57
64
|
##
|
58
|
-
# Get ED25519 public key
|
59
|
-
#
|
65
|
+
# Get ED25519 public key
|
66
|
+
# @param seed [String] private key
|
67
|
+
# @return [String] public key
|
68
|
+
# @example
|
60
69
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
61
70
|
# public_key = ED25519.get_public_key_from_seed(seed)
|
62
71
|
|
data/lib/sr25519/version.rb
CHANGED
data/lib/sr25519_lib.rb
CHANGED
@@ -65,9 +65,11 @@ end
|
|
65
65
|
|
66
66
|
class SR25519
|
67
67
|
|
68
|
-
|
69
|
-
#
|
70
|
-
#
|
68
|
+
# Sign message result
|
69
|
+
# @param message [String] message
|
70
|
+
# @param private_key [String] private_key
|
71
|
+
# @return [String] sign result
|
72
|
+
# @example
|
71
73
|
# message = "Hello World"
|
72
74
|
# private_key = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
73
75
|
# signature_result = SR25519.sr25519_sign(message, private_key)
|
@@ -80,9 +82,11 @@ class SR25519
|
|
80
82
|
sig.to_s
|
81
83
|
end
|
82
84
|
|
83
|
-
|
84
|
-
#
|
85
|
-
#
|
85
|
+
# Sign message result
|
86
|
+
# @param message [String] message
|
87
|
+
# @param key_pair [KeyPair] Sr25519 keypair
|
88
|
+
# @return [String] sign result
|
89
|
+
# @example
|
86
90
|
# message = "Hello World"
|
87
91
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
88
92
|
# keypair = SR25519.keypair_from_seed(seed)
|
@@ -95,9 +99,12 @@ class SR25519
|
|
95
99
|
sig.to_s
|
96
100
|
end
|
97
101
|
|
98
|
-
|
99
|
-
#
|
100
|
-
#
|
102
|
+
# Verify the sign result
|
103
|
+
# @param address [String] account address
|
104
|
+
# @param message [String] message
|
105
|
+
# @param signature_result [String] Sr25519 sign result
|
106
|
+
# @return [boolean] sign result
|
107
|
+
# @example
|
101
108
|
# message = "Hello World"
|
102
109
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
103
110
|
# keypair = SR25519.keypair_from_seed(seed)
|
@@ -121,9 +128,10 @@ class SR25519
|
|
121
128
|
verify = SR25519Lib.sr25519_verify(sig, msg, message.size, pk)
|
122
129
|
end
|
123
130
|
|
124
|
-
##
|
125
131
|
# Generate SR25519 keypair
|
126
|
-
#
|
132
|
+
# @param seed [String] private key
|
133
|
+
# @return [KeyPair] SR25519 keypair
|
134
|
+
# @example
|
127
135
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
128
136
|
# keypair = SR25519.keypair_from_seed(seed)
|
129
137
|
def self.keypair_from_seed(seed)
|
@@ -138,9 +146,10 @@ class SR25519
|
|
138
146
|
return key_pair
|
139
147
|
end
|
140
148
|
|
141
|
-
|
142
|
-
#
|
143
|
-
#
|
149
|
+
# Get SR25519 public key
|
150
|
+
# @param seed [String] private key
|
151
|
+
# @return [String] public key
|
152
|
+
# @example
|
144
153
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
145
154
|
# public_key = SR25519.get_public_key_from_seed(seed)
|
146
155
|
def self.get_public_key_from_seed(seed)
|
@@ -148,9 +157,11 @@ class SR25519
|
|
148
157
|
key_pair.public_key
|
149
158
|
end
|
150
159
|
|
151
|
-
|
152
|
-
#
|
153
|
-
#
|
160
|
+
# Get SR25519 public key
|
161
|
+
# @param address [String] account address
|
162
|
+
# @param addr_type [Interger] address type
|
163
|
+
# @return [String] public key
|
164
|
+
# @example
|
154
165
|
# seed = "0xfac7959dbfe72f052e5a0c3c8d6530f202b02fd8f9f5ca3580ec8deb7797479e"
|
155
166
|
# public_key = SR25519.get_public_key_from_seed(seed)
|
156
167
|
# address = Address.encode(public_key.to_s)
|
data/sr25519.gemspec
CHANGED
@@ -28,6 +28,9 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.bindir = "exe"
|
29
29
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
30
30
|
spec.require_paths = ["lib"]
|
31
|
+
spec.extra_rdoc_files = [
|
32
|
+
"README.md"
|
33
|
+
]
|
31
34
|
|
32
35
|
spec.add_development_dependency "rake", "~> 13.0"
|
33
36
|
spec.add_development_dependency "rspec", "~> 3.2"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sr25519
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- xuxh
|
@@ -105,7 +105,8 @@ email:
|
|
105
105
|
- xxh2611@gmail.com
|
106
106
|
executables: []
|
107
107
|
extensions: []
|
108
|
-
extra_rdoc_files:
|
108
|
+
extra_rdoc_files:
|
109
|
+
- README.md
|
109
110
|
files:
|
110
111
|
- ".github/workflows/ruby.yml"
|
111
112
|
- ".gitignore"
|