eth 0.4.12 → 0.4.16

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 877e956acdf641b5723a315470c31ddd47c74f9a
4
- data.tar.gz: 43bc542b30b28c77ed14b327b353a4fe9c481656
2
+ SHA256:
3
+ metadata.gz: 87e846748f62ce3874417ba24d249c9eaf81a53de040c40d846d60ff0be0e1b3
4
+ data.tar.gz: 8a7508a79ebef3100dfca6b9be67ca26c1d132a4eaaacc96f599afe58a57db02
5
5
  SHA512:
6
- metadata.gz: f8c893b0b801abf39c5336d7934cdb7674b77f5a315c86c499ca48c98011f79d9e7a0e8db54e6902ce52b3e7a7e11e3b058af7327986669af812128d30b5127a
7
- data.tar.gz: 58af5ce83217e84ee7013f425b1f5f9948bdfaaf57df21f23792acf19260751e3cafa3c5ec6ea657da87fd728635fc9ce3077b3d93bbf58b7c6d5a9def9696d6
6
+ metadata.gz: 8b1039dcd261b7e8d756e7f05eb9ce25f239c6d83c3fbd924e6e9675246b3d373b70748f47114d30f412281ed17e9f6c31d7462669119ac8ef8305a7becdd0be
7
+ data.tar.gz: f07f7863b9af5c74d461e430da54f8822252451c60bfeff7499085b28209e707ddce3ae0e44bc60ef9b73db5d60d7cf20409b9f4d3e928f6bb0def2438ea0323
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: Build
3
+
4
+ on:
5
+ pull_request:
6
+ branches:
7
+ - develop
8
+ push:
9
+ branches:
10
+ - develop
11
+
12
+ jobs:
13
+ build:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ - uses: ruby/setup-ruby@v1
18
+ with:
19
+ ruby-version: 3.0
20
+ - name: Install Dependencies
21
+ run: |
22
+ git submodule update --init
23
+ bundle install
24
+ - name: Run Tests
25
+ run: |
26
+ rspec
@@ -0,0 +1,38 @@
1
+ ---
2
+ name: CodeQL
3
+
4
+ on:
5
+ pull_request:
6
+ branches:
7
+ - develop
8
+ push:
9
+ branches:
10
+ - develop
11
+ schedule:
12
+ -
13
+ cron: "45 1 * * 3"
14
+
15
+ jobs:
16
+ analyze:
17
+ name: Analyze
18
+ runs-on: ubuntu-latest
19
+ permissions:
20
+ actions: read
21
+ contents: read
22
+ security-events: write
23
+ strategy:
24
+ fail-fast: false
25
+ matrix:
26
+ language:
27
+ - ruby
28
+ steps:
29
+ - name: "Checkout repository"
30
+ uses: actions/checkout@v2
31
+ - name: "Initialize CodeQL"
32
+ uses: github/codeql-action/init@v1
33
+ with:
34
+ languages: "${{ matrix.language }}"
35
+ - name: Autobuild
36
+ uses: github/codeql-action/autobuild@v1
37
+ - name: "Perform CodeQL Analysis"
38
+ uses: github/codeql-action/analyze@v1
data/.gitignore CHANGED
@@ -1,10 +1,43 @@
1
- /.bundle/
2
- /.yardoc
3
- /Gemfile.lock
4
- /_yardoc/
1
+ *.DS_Store
2
+
3
+ /test/test_vectors.rb
4
+ /ext/digest/Makefile
5
+ /ext/digest/keccak.so
6
+ /ext/digest/mkmf.log
7
+
8
+ *.o
9
+ *.so
10
+ *.gem
11
+ *.log
12
+ *.rbc
13
+ /.config
14
+ /.rake_tasks~
5
15
  /coverage/
6
- /doc/
16
+ /InstalledFiles
7
17
  /pkg/
8
- /spec/reports/
9
18
  /tmp/
10
- .ruby-version
19
+
20
+ # RSpec configuration and generated files:
21
+ /.rspec
22
+ /spec/examples.txt
23
+
24
+ # Documentation cache and generated files:
25
+ /.yardoc/
26
+ /_yardoc/
27
+ /doc/
28
+ /rdoc/
29
+
30
+ # Environment normalization:
31
+ /.bundle/
32
+ /vendor/bundle/*
33
+ !/vendor/bundle/.keep
34
+ /lib/bundler/man/
35
+
36
+ # For a library or gem, you might want to ignore these files since the code is
37
+ # intended to run in multiple environments; otherwise, check them in:
38
+ /Gemfile.lock
39
+ /.ruby-version
40
+ /.ruby-gemset
41
+
42
+ # Unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
43
+ .rvmrc
data/CHANGELOG.md CHANGED
@@ -6,18 +6,28 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
6
6
 
7
7
  ### Unreleased
8
8
 
9
- ## [0.4.12]
9
+ ## [0.4.16]
10
+ ### Changed
11
+ - Docs: update changelog [#65](https://github.com/se3000/ruby-eth/pull/65)
12
+ - Gems: bump version to 0.4.16 [#65](https://github.com/se3000/ruby-eth/pull/65)
13
+ - License: update copyright notice [#64](https://github.com/se3000/ruby-eth/pull/64)
14
+ - Docs: add badges to readme [#64](https://github.com/se3000/ruby-eth/pull/64)
15
+ - Git: deprecating master [#63](https://github.com/se3000/ruby-eth/pull/63)
16
+ - CI: replace travis with github actions [#62](https://github.com/se3000/ruby-eth/pull/62)
17
+ - Gems: replace digest-sha3-patched with keccak [#58](https://github.com/se3000/ruby-eth/pull/58)
10
18
 
19
+ ## [0.4.13], [0.4.14], [0.4.15]
20
+ _Released as [`eth-patched`](https://github.com/q9f/ruby-eth) from a different source tree._
21
+
22
+ ## [0.4.12]
11
23
  ### Changed
12
24
  - Bump rake version because of security vulnerability
13
25
 
14
26
  ## [0.4.11]
15
-
16
27
  ### Added
17
28
  - Support for recovering signatures with a V value below 27 (like from Ledger hardware wallets)
18
29
 
19
30
  ## [0.4.10]
20
-
21
31
  ### Changed
22
32
  - Use updated sha3 dependency
23
33
  - Improved OpenSSL support
@@ -26,38 +36,31 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
26
36
  - Changed Eth::Configuration.default_chain_id back to .chain_id for dependent libraries.
27
37
 
28
38
  ## [0.4.9]
29
-
30
39
  ### Changed
31
40
  - [escoffon](https://github.com/escoffon) added support for chain IDs larger than 120.
32
41
 
33
42
  ## [0.4.8]
34
-
35
43
  ### Added
36
44
  - [@buhrmi](https://github.com/buhrmi) added Eth::Key#personal_sign.
37
45
  - [@buhrmi](https://github.com/buhrmi) added Eth::Key#personal_recover.
38
46
 
39
47
  ## [0.4.7]
40
-
41
48
  ### Changed
42
49
  - Updated MoneyTree dependency.
43
50
 
44
51
  ## [0.4.6]
45
-
46
52
  ### Added
47
53
  - Support scrypt private key decryption
48
54
 
49
55
  ## [0.4.5]
50
-
51
56
  ### Changed
52
57
  - Further improve Open SSL configurability
53
58
 
54
59
  ## [0.4.4]
55
-
56
60
  ### Changed
57
61
  - Support old versions of SSL to help avoid preious breaking changes
58
62
 
59
63
  ## [0.4.3]
60
-
61
64
  ### Added
62
65
  - Eth::Key::Encrypter class to handle encrypting keys.
63
66
  - Eth::Key.encrypt as a nice wrapper around Encrypter class.
@@ -65,7 +68,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
65
68
  - Eth::Key.decrypt as a nice wrapper around Decrypter class.
66
69
 
67
70
  ## [0.4.2]
68
-
69
71
  ### Added
70
72
  - Address#valid? to validate EIP55 checksums.
71
73
  - Address#checksummed to generate EIP55 checksums.
@@ -77,12 +79,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
77
79
 
78
80
 
79
81
  ## [0.4.1]
80
-
81
82
  ### Changed
82
83
  - Tx#hash includes the '0x' hex prefix.
83
84
 
84
85
  ## [0.4.0]
85
-
86
86
  ### Added
87
87
  - Tx#data_bin returns the data field of a transaction in binary.
88
88
  - Tx#data_hex returns the data field of a transaction as a hexadecimal string.
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
- # Specify your gem's dependencies in ethereum-tx.gemspec
5
+ # Specify your gem's dependencies in eth.gemspec
4
6
  gemspec
data/LICENSE.txt CHANGED
@@ -1,6 +1,7 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2016 Steve Ellis
3
+ Copyright (c) 2016-2021 Steve Ellis
4
+ Copyright (c) 2021-2022 Afri Schoedon
4
5
 
5
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
7
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -1,4 +1,10 @@
1
- # Eth [![Travis-CI](https://travis-ci.org/se3000/ruby-eth.svg?branch=master)](https://travis-ci.org/se3000/ruby-eth) [![Code Climate](https://codeclimate.com/github/se3000/ruby-eth/badges/gpa.svg)](https://codeclimate.com/github/se3000/ruby-eth) [![Gitter](https://badges.gitter.im/ruby-eth/Lobby.svg)](https://gitter.im/ruby-eth/Lobby)
1
+ # Eth for Ruby
2
+ [![GitHub Workflow Status](https://img.shields.io/github/workflow/status/se3000/ruby-eth/Build)](https://github.com/se3000/ruby-eth/actions)
3
+ [![GitHub release (latest by date)](https://img.shields.io/github/v/release/se3000/ruby-eth)](https://github.com/se3000/ruby-eth/releases)
4
+ [![Gem](https://img.shields.io/gem/v/eth)](https://rubygems.org/gems/eth)
5
+ [![Gem](https://img.shields.io/gem/dt/eth)](https://rubygems.org/gems/eth)
6
+ [![GitHub top language](https://img.shields.io/github/languages/top/se3000/ruby-eth?color=red)](https://github.com/se3000/ruby-eth/pulse)
7
+ [![GitHub](https://img.shields.io/github/license/se3000/ruby-eth)](LICENSE)
2
8
 
3
9
  A simple library to build and sign Ethereum transactions. Allows separation of key and node management. Sign transactions and handle keys anywhere you can run ruby, broadcast transactions through any node.
4
10
 
@@ -12,7 +18,7 @@ gem 'eth'
12
18
 
13
19
  And then execute:
14
20
 
15
- $ bundle
21
+ $ bundle install
16
22
 
17
23
  Or install it yourself as:
18
24
 
@@ -118,7 +124,7 @@ end
118
124
 
119
125
  ## Contributing
120
126
 
121
- Bug reports and pull requests are welcome on GitHub at https://github.com/se3000/ethereum-tx. Tests are encouraged.
127
+ Bug reports and pull requests are welcome on GitHub at https://github.com/se3000/ruby-eth. Tests are encouraged.
122
128
 
123
129
  ### Tests
124
130
 
@@ -136,7 +142,7 @@ rspec
136
142
 
137
143
  ## License
138
144
 
139
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
145
+ The gem is available as open-source software under the terms of the [MIT License](http://opensource.org/licenses/MIT).
140
146
 
141
147
  ## TODO
142
148
 
data/eth.gemspec CHANGED
@@ -1,31 +1,46 @@
1
+ # frozen_string_literal: true
1
2
  # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+
4
+ lib = File.expand_path('lib', __dir__).freeze
5
+ $LOAD_PATH.unshift lib unless $LOAD_PATH.include? lib
6
+
4
7
  require 'eth/version'
5
8
 
6
9
  Gem::Specification.new do |spec|
7
10
  spec.name = "eth"
8
11
  spec.version = Eth::VERSION
9
- spec.authors = ["Steve Ellis"]
10
- spec.email = ["email@steveell.is"]
12
+ spec.authors = ["Steve Ellis", "Afri Schoedon"]
13
+ spec.email = ["email@steveell.is", "ruby@q9f.cc"]
11
14
 
12
15
  spec.summary = %q{Simple API to sign Ethereum transactions.}
13
16
  spec.description = %q{Library to build, parse, and sign Ethereum transactions.}
14
17
  spec.homepage = "https://github.com/se3000/ruby-eth"
15
18
  spec.license = "MIT"
16
19
 
20
+ 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',
25
+ }.freeze
26
+
17
27
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
18
28
  spec.bindir = "exe"
19
29
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
30
  spec.require_paths = ["lib"]
31
+ spec.test_files = spec.files.grep %r{^(test|spec|features)/}
32
+
33
+ spec.add_dependency 'keccak', '~> 1.2'
34
+ spec.add_dependency 'ffi', '~> 1.15'
35
+ spec.add_dependency 'money-tree', '~> 0.10'
36
+ spec.add_dependency 'rlp', '~> 0.7'
37
+ spec.add_dependency 'scrypt', '~> 3.0'
21
38
 
22
- spec.add_dependency 'digest-sha3-patched', '~> 1.1'
23
- spec.add_dependency 'ffi', '~> 1.0'
24
- spec.add_dependency 'money-tree', '~> 0.10.0'
25
- spec.add_dependency 'rlp', '~> 0.7.3'
26
- spec.add_dependency 'scrypt', '~> 3.0.6'
39
+ spec.platform = Gem::Platform::RUBY
40
+ spec.required_ruby_version = ">= 2.2", "< 4.0"
27
41
 
28
- spec.add_development_dependency 'pry', '~> 0.1'
29
- spec.add_development_dependency 'rake', '>= 12.3.3'
30
- spec.add_development_dependency 'rspec', '~> 3.0'
42
+ spec.add_development_dependency 'bundler', '~> 2.2'
43
+ spec.add_development_dependency 'pry', '~> 0.14'
44
+ spec.add_development_dependency 'rake', '~> 13.0'
45
+ spec.add_development_dependency 'rspec', '~> 3.10'
31
46
  end
data/lib/eth/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Eth
2
- VERSION = "0.4.12"
2
+ VERSION = "0.4.16"
3
3
  end
metadata CHANGED
@@ -1,138 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.12
4
+ version: 0.4.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Ellis
8
- autorequire:
8
+ - Afri Schoedon
9
+ autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2020-03-04 00:00:00.000000000 Z
12
+ date: 2021-10-30 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: digest-sha3-patched
15
+ name: keccak
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - "~>"
18
19
  - !ruby/object:Gem::Version
19
- version: '1.1'
20
+ version: '1.2'
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
25
  - - "~>"
25
26
  - !ruby/object:Gem::Version
26
- version: '1.1'
27
+ version: '1.2'
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: ffi
29
30
  requirement: !ruby/object:Gem::Requirement
30
31
  requirements:
31
32
  - - "~>"
32
33
  - !ruby/object:Gem::Version
33
- version: '1.0'
34
+ version: '1.15'
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
39
  - - "~>"
39
40
  - !ruby/object:Gem::Version
40
- version: '1.0'
41
+ version: '1.15'
41
42
  - !ruby/object:Gem::Dependency
42
43
  name: money-tree
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
46
  - - "~>"
46
47
  - !ruby/object:Gem::Version
47
- version: 0.10.0
48
+ version: '0.10'
48
49
  type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
53
  - - "~>"
53
54
  - !ruby/object:Gem::Version
54
- version: 0.10.0
55
+ version: '0.10'
55
56
  - !ruby/object:Gem::Dependency
56
57
  name: rlp
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
60
  - - "~>"
60
61
  - !ruby/object:Gem::Version
61
- version: 0.7.3
62
+ version: '0.7'
62
63
  type: :runtime
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
67
  - - "~>"
67
68
  - !ruby/object:Gem::Version
68
- version: 0.7.3
69
+ version: '0.7'
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: scrypt
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
74
  - - "~>"
74
75
  - !ruby/object:Gem::Version
75
- version: 3.0.6
76
+ version: '3.0'
76
77
  type: :runtime
77
78
  prerelease: false
78
79
  version_requirements: !ruby/object:Gem::Requirement
79
80
  requirements:
80
81
  - - "~>"
81
82
  - !ruby/object:Gem::Version
82
- version: 3.0.6
83
+ version: '3.0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: bundler
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - "~>"
89
+ - !ruby/object:Gem::Version
90
+ version: '2.2'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - "~>"
96
+ - !ruby/object:Gem::Version
97
+ version: '2.2'
83
98
  - !ruby/object:Gem::Dependency
84
99
  name: pry
85
100
  requirement: !ruby/object:Gem::Requirement
86
101
  requirements:
87
102
  - - "~>"
88
103
  - !ruby/object:Gem::Version
89
- version: '0.1'
104
+ version: '0.14'
90
105
  type: :development
91
106
  prerelease: false
92
107
  version_requirements: !ruby/object:Gem::Requirement
93
108
  requirements:
94
109
  - - "~>"
95
110
  - !ruby/object:Gem::Version
96
- version: '0.1'
111
+ version: '0.14'
97
112
  - !ruby/object:Gem::Dependency
98
113
  name: rake
99
114
  requirement: !ruby/object:Gem::Requirement
100
115
  requirements:
101
- - - ">="
116
+ - - "~>"
102
117
  - !ruby/object:Gem::Version
103
- version: 12.3.3
118
+ version: '13.0'
104
119
  type: :development
105
120
  prerelease: false
106
121
  version_requirements: !ruby/object:Gem::Requirement
107
122
  requirements:
108
- - - ">="
123
+ - - "~>"
109
124
  - !ruby/object:Gem::Version
110
- version: 12.3.3
125
+ version: '13.0'
111
126
  - !ruby/object:Gem::Dependency
112
127
  name: rspec
113
128
  requirement: !ruby/object:Gem::Requirement
114
129
  requirements:
115
130
  - - "~>"
116
131
  - !ruby/object:Gem::Version
117
- version: '3.0'
132
+ version: '3.10'
118
133
  type: :development
119
134
  prerelease: false
120
135
  version_requirements: !ruby/object:Gem::Requirement
121
136
  requirements:
122
137
  - - "~>"
123
138
  - !ruby/object:Gem::Version
124
- version: '3.0'
139
+ version: '3.10'
125
140
  description: Library to build, parse, and sign Ethereum transactions.
126
141
  email:
127
142
  - email@steveell.is
143
+ - ruby@q9f.cc
128
144
  executables: []
129
145
  extensions: []
130
146
  extra_rdoc_files: []
131
147
  files:
148
+ - ".github/workflows/build.yml"
149
+ - ".github/workflows/codeql.yml"
132
150
  - ".gitignore"
133
151
  - ".gitmodules"
134
152
  - ".rspec"
135
- - ".travis.yml"
136
153
  - CHANGELOG.md
137
154
  - Gemfile
138
155
  - LICENSE.txt
@@ -156,8 +173,12 @@ files:
156
173
  homepage: https://github.com/se3000/ruby-eth
157
174
  licenses:
158
175
  - MIT
159
- metadata: {}
160
- post_install_message:
176
+ metadata:
177
+ homepage_uri: https://github.com/se3000/ruby-eth
178
+ source_code_uri: https://github.com/se3000/ruby-eth
179
+ github_repo: https://github.com/se3000/ruby-eth
180
+ bug_tracker_uri: https://github.com/se3000/ruby-eth/issues
181
+ post_install_message:
161
182
  rdoc_options: []
162
183
  require_paths:
163
184
  - lib
@@ -165,16 +186,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
186
  requirements:
166
187
  - - ">="
167
188
  - !ruby/object:Gem::Version
168
- version: '0'
189
+ version: '2.2'
190
+ - - "<"
191
+ - !ruby/object:Gem::Version
192
+ version: '4.0'
169
193
  required_rubygems_version: !ruby/object:Gem::Requirement
170
194
  requirements:
171
195
  - - ">="
172
196
  - !ruby/object:Gem::Version
173
197
  version: '0'
174
198
  requirements: []
175
- rubyforge_project:
176
- rubygems_version: 2.6.8
177
- signing_key:
199
+ rubygems_version: 3.2.29
200
+ signing_key:
178
201
  specification_version: 4
179
202
  summary: Simple API to sign Ethereum transactions.
180
203
  test_files: []
data/.travis.yml DELETED
@@ -1,10 +0,0 @@
1
- sudo: false
2
- dist: xenial
3
- language: ruby
4
- rvm:
5
- - 2.2.0
6
- - 2.3.0
7
- - 2.4.0
8
- - 2.5.3
9
- - 2.6.0
10
- before_install: gem install bundler -v 1.12.3