Skip to content

Commit 51cbef9

Browse files
authored
gem: run rufo (#74)
* gem: run rufo * gem: format gemfile
1 parent 0f2629e commit 51cbef9

23 files changed

+221
-246
lines changed

Gemfile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
# frozen_string_literal: true
22

3+
# ref: https://github.com/GemHQ/money-tree/issues/50
4+
gem "money-tree", git: "https://github.com/GemHQ/money-tree.git"
5+
6+
source "https://rubygems.org"
37

4-
gem 'money-tree', git: 'https://github.com/GemHQ/money-tree.git'
5-
source 'https://rubygems.org'
68
# Specify your gem's dependencies in eth.gemspec
79
gemspec

eth.gemspec

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,47 @@
11
# frozen_string_literal: true
22
# coding: utf-8
33

4-
lib = File.expand_path('lib', __dir__).freeze
4+
lib = File.expand_path("lib", __dir__).freeze
55
$LOAD_PATH.unshift lib unless $LOAD_PATH.include? lib
66

7-
require 'eth/version'
7+
require "eth/version"
88

99
Gem::Specification.new do |spec|
10-
spec.name = "eth"
11-
spec.version = Eth::VERSION
12-
spec.authors = ["Steve Ellis", "Afri Schoedon"]
13-
10+
spec.name = "eth"
11+
spec.version = Eth::VERSION
12+
spec.authors = ["Steve Ellis", "Afri Schoedon"]
13+
1414

15-
spec.summary = %q{Simple API to sign Ethereum transactions.}
16-
spec.description = %q{Library to build, parse, and sign Ethereum transactions.}
17-
spec.homepage = "https://github.com/se3000/ruby-eth"
18-
spec.license = "MIT"
15+
spec.summary = %q{Simple API to sign Ethereum transactions.}
16+
spec.description = %q{Library to build, parse, and sign Ethereum transactions.}
17+
spec.homepage = "https://github.com/se3000/ruby-eth"
18+
spec.license = "MIT"
1919

2020
spec.metadata = {
21-
'homepage_uri' => 'https://github.com/se3000/ruby-eth',
22-
'source_code_uri' => 'https://github.com/se3000/ruby-eth',
23-
'github_repo' => 'https://github.com/se3000/ruby-eth',
24-
'bug_tracker_uri' => 'https://github.com/se3000/ruby-eth/issues',
21+
"homepage_uri" => "https://github.com/se3000/ruby-eth",
22+
"source_code_uri" => "https://github.com/se3000/ruby-eth",
23+
"github_repo" => "https://github.com/se3000/ruby-eth",
24+
"bug_tracker_uri" => "https://github.com/se3000/ruby-eth/issues",
2525
}.freeze
2626

27-
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
28-
spec.bindir = "exe"
29-
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
27+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
28+
spec.bindir = "exe"
29+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
3030
spec.require_paths = ["lib"]
31-
spec.test_files = spec.files.grep %r{^(test|spec|features)/}
31+
spec.test_files = spec.files.grep %r{^(test|spec|features)/}
3232

33-
spec.add_dependency 'keccak', '~> 1.3'
34-
spec.add_dependency 'ffi', '~> 1.15'
35-
spec.add_dependency 'money-tree', '~> 0.11'
36-
spec.add_dependency 'openssl', '~> 3.0'
37-
spec.add_dependency 'rlp', '~> 0.7'
38-
spec.add_dependency 'scrypt', '~> 3.0'
33+
spec.add_dependency "keccak", "~> 1.3"
34+
spec.add_dependency "ffi", "~> 1.15"
35+
spec.add_dependency "money-tree", "~> 0.11"
36+
spec.add_dependency "openssl", "~> 3.0"
37+
spec.add_dependency "rlp", "~> 0.7"
38+
spec.add_dependency "scrypt", "~> 3.0"
3939

4040
spec.platform = Gem::Platform::RUBY
4141
spec.required_ruby_version = ">= 2.6", "< 4.0"
4242

43-
spec.add_development_dependency 'bundler', '~> 2.2'
44-
spec.add_development_dependency 'pry', '~> 0.14'
45-
spec.add_development_dependency 'rake', '~> 13.0'
46-
spec.add_development_dependency 'rspec', '~> 3.10'
43+
spec.add_development_dependency "bundler", "~> 2.2"
44+
spec.add_development_dependency "pry", "~> 0.14"
45+
spec.add_development_dependency "rake", "~> 13.0"
46+
spec.add_development_dependency "rspec", "~> 3.10"
4747
end

lib/eth.rb

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
1-
require 'digest/keccak'
2-
require 'ffi'
3-
require 'money-tree'
4-
require 'rlp'
1+
require "digest/keccak"
2+
require "ffi"
3+
require "money-tree"
4+
require "rlp"
55

66
module Eth
77
BYTE_ZERO = "\x00".freeze
8-
UINT_MAX = 2**256 - 1
8+
UINT_MAX = 2 ** 256 - 1
99

10-
autoload :Address, 'eth/address'
11-
autoload :Gas, 'eth/gas'
12-
autoload :Key, 'eth/key'
13-
autoload :OpenSsl, 'eth/open_ssl'
14-
autoload :Secp256k1, 'eth/secp256k1'
15-
autoload :Sedes, 'eth/sedes'
16-
autoload :Tx, 'eth/tx'
17-
autoload :Utils, 'eth/utils'
10+
autoload :Address, "eth/address"
11+
autoload :Gas, "eth/gas"
12+
autoload :Key, "eth/key"
13+
autoload :OpenSsl, "eth/open_ssl"
14+
autoload :Secp256k1, "eth/secp256k1"
15+
autoload :Sedes, "eth/sedes"
16+
autoload :Tx, "eth/tx"
17+
autoload :Utils, "eth/utils"
1818

1919
class << self
2020
def configure

lib/eth/address.rb

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
module Eth
22
class Address
3-
43
def initialize(address)
54
@address = Utils.prefix_hex(address)
65
end
@@ -25,7 +24,6 @@ def checksummed
2524
Utils.prefix_hex(cased.join)
2625
end
2726

28-
2927
private
3028

3129
attr_reader :address
@@ -57,6 +55,5 @@ def checksum
5755
def unprefixed
5856
Utils.remove_hex_prefix address
5957
end
60-
6158
end
6259
end

lib/eth/gas.rb

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
module Eth
22
class Gas
3-
43
GTXCOST = 21000 # TX BASE GAS COST
54
GTXDATANONZERO = 68 # TX DATA NON ZERO BYTE GAS COST
65
GTXDATAZERO = 4 # TX DATA ZERO BYTE GAS COST
7-
86
end
97
end

lib/eth/key.rb

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module Eth
22
class Key
3-
autoload :Decrypter, 'eth/key/decrypter'
4-
autoload :Encrypter, 'eth/key/encrypter'
3+
autoload :Decrypter, "eth/key/decrypter"
4+
autoload :Encrypter, "eth/key/encrypter"
55

66
attr_reader :private_key, :public_key
77

@@ -17,7 +17,7 @@ def self.decrypt(data, password)
1717
end
1818

1919
def self.personal_recover(message, signature)
20-
bin_signature = Utils.hex_to_bin(signature).bytes.rotate(-1).pack('c*')
20+
bin_signature = Utils.hex_to_bin(signature).bytes.rotate(-1).pack("c*")
2121
OpenSsl.recover_compact(Utils.keccak256(Utils.prefix_message(message)), bin_signature)
2222
end
2323

@@ -41,6 +41,7 @@ def public_hex
4141
def address
4242
Utils.public_key_to_address public_hex
4343
end
44+
4445
alias_method :to_address, :address
4546

4647
def sign(message)
@@ -60,10 +61,9 @@ def verify_signature(message, signature)
6061
end
6162

6263
def personal_sign(message)
63-
Utils.bin_to_hex(sign(Utils.prefix_message(message)).bytes.rotate(1).pack('c*'))
64+
Utils.bin_to_hex(sign(Utils.prefix_message(message)).bytes.rotate(1).pack("c*"))
6465
end
6566

66-
6767
private
6868

6969
def message_hash(message)
@@ -72,8 +72,7 @@ def message_hash(message)
7272

7373
def valid_s?(signature)
7474
s_value = Utils.v_r_s_for(signature).last
75-
s_value <= Secp256k1::N/2 && s_value != 0
75+
s_value <= Secp256k1::N / 2 && s_value != 0
7676
end
77-
7877
end
7978
end

lib/eth/key/decrypter.rb

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
require 'json'
2-
require 'scrypt'
1+
require "json"
2+
require "scrypt"
33

44
class Eth::Key::Decrypter
55
include Eth::Utils
@@ -19,16 +19,15 @@ def perform
1919
bin_to_hex decrypted_data
2020
end
2121

22-
2322
private
2423

2524
attr_reader :data, :key, :password
2625

2726
def derive_key(password)
2827
case kdf
29-
when 'pbkdf2'
28+
when "pbkdf2"
3029
@key = OpenSSL::PKCS5.pbkdf2_hmac(password, salt, iterations, key_length, digest)
31-
when 'scrypt'
30+
when "scrypt"
3231
# OpenSSL 1.1 inclues OpenSSL::KDF.scrypt, but it is not available usually, otherwise we could do: OpenSSL::KDF.scrypt(password, salt: salt, N: n, r: r, p: p, length: key_length)
3332
@key = SCrypt::Engine.scrypt(password, salt, n, r, p, key_length)
3433
else
@@ -37,8 +36,8 @@ def derive_key(password)
3736
end
3837

3938
def check_macs
40-
mac1 = keccak256(key[(key_length/2), key_length] + ciphertext)
41-
mac2 = hex_to_bin crypto_data['mac']
39+
mac1 = keccak256(key[(key_length / 2), key_length] + ciphertext)
40+
mac2 = hex_to_bin crypto_data["mac"]
4241

4342
if mac1 != mac2
4443
raise "Message Authentications Codes do not match!"
@@ -50,11 +49,11 @@ def decrypted_data
5049
end
5150

5251
def crypto_data
53-
@crypto_data ||= data['crypto'] || data['Crypto']
52+
@crypto_data ||= data["crypto"] || data["Crypto"]
5453
end
5554

5655
def ciphertext
57-
hex_to_bin crypto_data['ciphertext']
56+
hex_to_bin crypto_data["ciphertext"]
5857
end
5958

6059
def cipher_name
@@ -64,41 +63,41 @@ def cipher_name
6463
def cipher
6564
@cipher ||= OpenSSL::Cipher.new(cipher_name).tap do |cipher|
6665
cipher.decrypt
67-
cipher.key = key[0, (key_length/2)]
66+
cipher.key = key[0, (key_length / 2)]
6867
cipher.iv = iv
6968
end
7069
end
7170

7271
def iv
73-
hex_to_bin crypto_data['cipherparams']['iv']
72+
hex_to_bin crypto_data["cipherparams"]["iv"]
7473
end
7574

7675
def salt
77-
hex_to_bin crypto_data['kdfparams']['salt']
76+
hex_to_bin crypto_data["kdfparams"]["salt"]
7877
end
7978

8079
def iterations
81-
crypto_data['kdfparams']['c'].to_i
80+
crypto_data["kdfparams"]["c"].to_i
8281
end
8382

8483
def kdf
85-
crypto_data['kdf']
84+
crypto_data["kdf"]
8685
end
8786

8887
def key_length
89-
crypto_data['kdfparams']['dklen'].to_i
88+
crypto_data["kdfparams"]["dklen"].to_i
9089
end
9190

9291
def n
93-
crypto_data['kdfparams']['n'].to_i
92+
crypto_data["kdfparams"]["n"].to_i
9493
end
9594

9695
def r
97-
crypto_data['kdfparams']['r'].to_i
96+
crypto_data["kdfparams"]["r"].to_i
9897
end
9998

10099
def p
101-
crypto_data['kdfparams']['p'].to_i
100+
crypto_data["kdfparams"]["p"].to_i
102101
end
103102

104103
def digest
@@ -108,6 +107,4 @@ def digest
108107
def digest_name
109108
"sha256"
110109
end
111-
112-
113110
end

lib/eth/key/encrypter.rb

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
require 'json'
2-
require 'securerandom'
1+
require "json"
2+
require "securerandom"
33

44
class Eth::Key::Encrypter
55
include Eth::Utils
@@ -48,7 +48,6 @@ def id
4848
@id ||= options[:id] || SecureRandom.uuid
4949
end
5050

51-
5251
private
5352

5453
attr_reader :derived_key, :encrypted_key, :key, :options
@@ -57,7 +56,7 @@ def cipher
5756
@cipher ||= OpenSSL::Cipher.new(cipher_name).tap do |cipher|
5857
cipher.encrypt
5958
cipher.iv = iv
60-
cipher.key = derived_key[0, (key_length/2)]
59+
cipher.key = derived_key[0, (key_length / 2)]
6160
end
6261
end
6362

@@ -74,7 +73,7 @@ def encrypt
7473
end
7574

7675
def mac
77-
keccak256(derived_key[(key_length/2), key_length] + encrypted_key)
76+
keccak256(derived_key[(key_length / 2), key_length] + encrypted_key)
7877
end
7978

8079
def cipher_name
@@ -107,22 +106,21 @@ def iterations
107106

108107
def salt
109108
@salt ||= if options[:salt]
110-
hex_to_bin options[:salt]
111-
else
112-
SecureRandom.random_bytes(salt_length)
113-
end
109+
hex_to_bin options[:salt]
110+
else
111+
SecureRandom.random_bytes(salt_length)
112+
end
114113
end
115114

116115
def iv
117116
@iv ||= if options[:iv]
118-
hex_to_bin options[:iv]
119-
else
120-
SecureRandom.random_bytes(iv_length)
121-
end
117+
hex_to_bin options[:iv]
118+
else
119+
SecureRandom.random_bytes(iv_length)
120+
end
122121
end
123122

124123
def address
125124
Eth::Key.new(priv: key).address
126125
end
127-
128126
end

0 commit comments

Comments
 (0)