eth 0.4.12 → 0.4.16

Sign up to get free protection for your applications and to get access to all the features.
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