eth-custom 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. checksums.yaml +7 -0
  2. data/.github/dependabot.yml +18 -0
  3. data/.github/workflows/codeql.yml +48 -0
  4. data/.github/workflows/docs.yml +26 -0
  5. data/.github/workflows/spec.yml +52 -0
  6. data/.gitignore +43 -0
  7. data/.gitmodules +3 -0
  8. data/.rspec +4 -0
  9. data/.yardopts +1 -0
  10. data/AUTHORS.txt +29 -0
  11. data/CHANGELOG.md +218 -0
  12. data/Gemfile +17 -0
  13. data/LICENSE.txt +202 -0
  14. data/README.md +347 -0
  15. data/Rakefile +6 -0
  16. data/bin/console +10 -0
  17. data/bin/setup +9 -0
  18. data/codecov.yml +6 -0
  19. data/eth.gemspec +51 -0
  20. data/lib/eth/abi/event.rb +137 -0
  21. data/lib/eth/abi/type.rb +178 -0
  22. data/lib/eth/abi.rb +446 -0
  23. data/lib/eth/address.rb +106 -0
  24. data/lib/eth/api.rb +223 -0
  25. data/lib/eth/chain.rb +157 -0
  26. data/lib/eth/client/http.rb +63 -0
  27. data/lib/eth/client/ipc.rb +50 -0
  28. data/lib/eth/client.rb +499 -0
  29. data/lib/eth/constant.rb +71 -0
  30. data/lib/eth/contract/event.rb +42 -0
  31. data/lib/eth/contract/function.rb +57 -0
  32. data/lib/eth/contract/function_input.rb +38 -0
  33. data/lib/eth/contract/function_output.rb +37 -0
  34. data/lib/eth/contract/initializer.rb +47 -0
  35. data/lib/eth/contract.rb +143 -0
  36. data/lib/eth/eip712.rb +184 -0
  37. data/lib/eth/key/decrypter.rb +146 -0
  38. data/lib/eth/key/encrypter.rb +207 -0
  39. data/lib/eth/key.rb +167 -0
  40. data/lib/eth/rlp/decoder.rb +114 -0
  41. data/lib/eth/rlp/encoder.rb +78 -0
  42. data/lib/eth/rlp/sedes/big_endian_int.rb +66 -0
  43. data/lib/eth/rlp/sedes/binary.rb +97 -0
  44. data/lib/eth/rlp/sedes/list.rb +84 -0
  45. data/lib/eth/rlp/sedes.rb +74 -0
  46. data/lib/eth/rlp.rb +63 -0
  47. data/lib/eth/signature.rb +163 -0
  48. data/lib/eth/solidity.rb +75 -0
  49. data/lib/eth/tx/eip1559.rb +337 -0
  50. data/lib/eth/tx/eip2930.rb +329 -0
  51. data/lib/eth/tx/legacy.rb +297 -0
  52. data/lib/eth/tx.rb +322 -0
  53. data/lib/eth/unit.rb +49 -0
  54. data/lib/eth/util.rb +235 -0
  55. data/lib/eth/version.rb +20 -0
  56. data/lib/eth.rb +35 -0
  57. metadata +184 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 42eeb72ade797c93f0e3ec67057ce4e1b07c56fdaba673d125a531637c6c4f4c
4
+ data.tar.gz: 287e623b7b10048cb3b78a474eac06f33737d098a3e732bb44c8b6dc55d6bca5
5
+ SHA512:
6
+ metadata.gz: cce72c8e44a5ed2b6e25792b62155c12454afdb236851b3bb4ada8064d0c2eef3a027c1c76082f2b986f071391991dd8a8302edbfd32238d29046ba4ec8a0fae
7
+ data.tar.gz: 91336a5ad8684f7a3d9dd765b29410d345c0625ee9e745451af7785dff965505e3c4e1e5c3f5618824b56523483d50681d252d031b006f1d67b5a6f245943670
@@ -0,0 +1,18 @@
1
+ ---
2
+ updates:
3
+ -
4
+ directory: /
5
+ labels:
6
+ - dependencies
7
+ package-ecosystem: bundler
8
+ schedule:
9
+ interval: weekly
10
+ versioning-strategy: increase
11
+ -
12
+ directory: /
13
+ labels:
14
+ - operations
15
+ package-ecosystem: github-actions
16
+ schedule:
17
+ interval: monthly
18
+ version: 2
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: CodeQL
3
+
4
+ on:
5
+ pull_request:
6
+ branches:
7
+ - main
8
+ push:
9
+ branches:
10
+ - main
11
+
12
+ jobs:
13
+ analyze:
14
+ name: Analyze
15
+ runs-on: ubuntu-latest
16
+ permissions:
17
+ actions: read
18
+ contents: read
19
+ security-events: write
20
+ strategy:
21
+ fail-fast: false
22
+ matrix:
23
+ language:
24
+ - ruby
25
+ steps:
26
+ - name: "Checkout repository"
27
+ uses: actions/checkout@v3
28
+ - name: "Initialize CodeQL"
29
+ uses: github/codeql-action/init@v2
30
+ with:
31
+ languages: "${{ matrix.language }}"
32
+ - name: Autobuild
33
+ uses: github/codeql-action/autobuild@v2
34
+ - name: "Perform CodeQL Analysis"
35
+ uses: github/codeql-action/analyze@v2
36
+ - uses: ruby/setup-ruby@v1
37
+ with:
38
+ ruby-version: '2.7'
39
+ bundler-cache: true
40
+ - name: "Run rufo code formatting checks"
41
+ run: |
42
+ gem install rufo
43
+ rufo --check ./lib
44
+ rufo --check ./spec
45
+ - name: "Run yard documentation checks"
46
+ run: |
47
+ gem install yard
48
+ yard doc --fail-on-warning
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: Docs
3
+
4
+ on:
5
+ push:
6
+ branches:
7
+ - main
8
+
9
+ jobs:
10
+ docs:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v3
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: '2.7'
17
+ bundler-cache: true
18
+ - name: Run Yard Doc
19
+ run: |
20
+ gem install yard
21
+ yard doc
22
+ - name: Deploy GH Pages
23
+ uses: JamesIves/github-pages-deploy-action@v4.4.0
24
+ with:
25
+ branch: gh-pages
26
+ folder: doc/
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: Spec
3
+
4
+ on:
5
+ pull_request:
6
+ branches:
7
+ - main
8
+ push:
9
+ branches:
10
+ - main
11
+ schedule:
12
+ -
13
+ cron: "45 3 * * *"
14
+
15
+ jobs:
16
+ test:
17
+ runs-on: ${{ matrix.os }}
18
+ strategy:
19
+ fail-fast: false
20
+ matrix:
21
+ os: [ubuntu-latest, macos-latest]
22
+ ruby: ['2.7', '3.1']
23
+ steps:
24
+ - uses: actions/checkout@v3
25
+ - uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: ${{ matrix.ruby }}
28
+ bundler-cache: false
29
+ - name: MacOs Dependencies
30
+ run: |
31
+ brew tap ethereum/ethereum
32
+ brew install --verbose pkg-config automake autogen ethereum solidity
33
+ if: startsWith(matrix.os, 'macOS')
34
+ - name: Ubuntu Dependencies
35
+ run: |
36
+ sudo add-apt-repository -y ppa:ethereum/ethereum
37
+ sudo apt-get update
38
+ sudo apt-get install ethereum solc
39
+ if: startsWith(matrix.os, 'Ubuntu')
40
+ - name: Run Geth
41
+ run: |
42
+ geth --dev --http --ipcpath /tmp/geth.ipc &
43
+ disown &
44
+ - name: Gem Dependencies
45
+ run: |
46
+ git submodule update --init
47
+ bundle install
48
+ - name: Run Tests
49
+ run: |
50
+ bundle exec rspec
51
+ env:
52
+ COVERAGE: true
data/.gitignore ADDED
@@ -0,0 +1,43 @@
1
+ *.DS_Store
2
+
3
+ *.o
4
+ *.so
5
+ *.gem
6
+ *.log
7
+ *.rbc
8
+ .config
9
+ .rake_tasks~
10
+ coverage/
11
+ InstalledFiles
12
+ pkg/
13
+ tmp/
14
+
15
+ # RSpec configuration and generated files:
16
+ .rspec
17
+ spec/examples.txt
18
+
19
+ # Documentation cache and generated files:
20
+ .yardoc/
21
+ _yardoc/
22
+ doc/
23
+ rdoc/
24
+
25
+ # Environment normalization:
26
+ .bundle/
27
+ vendor/bundle/*
28
+ !vendor/bundle/.keep
29
+ lib/bundler/man/
30
+
31
+ # For a library or gem, you might want to ignore these files since the code is
32
+ # intended to run in multiple environments; otherwise, check them in:
33
+ Gemfile.lock
34
+ .ruby-version
35
+ .ruby-gemset
36
+
37
+ # Unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
38
+ .rvmrc
39
+
40
+ # NodeJS stuff
41
+ node_modules
42
+ package.json
43
+ package-lock.json
data/.gitmodules ADDED
@@ -0,0 +1,3 @@
1
+ [submodule "spec/fixtures/ethereum/tests"]
2
+ path = spec/fixtures/ethereum/tests
3
+ url = https://github.com/ethereum/tests.git
data/.rspec ADDED
@@ -0,0 +1,4 @@
1
+ --require pry
2
+ --require spec_helper
3
+ --format documentation
4
+ --color
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ --verbose --fail-on-warning --markup markdown --embed-mixins
data/AUTHORS.txt ADDED
@@ -0,0 +1,29 @@
1
+ The Ruby-Eth Contributors are:
2
+ * Steve Ellis @se3000
3
+ * Afri Schoedon @q9f
4
+ * John Omar @chainoperator
5
+ * Joshua Peek @josh
6
+ * Yuta Kurotaki @kurotaky
7
+
8
+ See also:
9
+ * https://github.com/q9f/eth.rb/graphs/contributors
10
+
11
+ The Ruby-Eth project was maintained 2016-2020 in Steve Ellis's (@se3000)
12
+ repository licensed under MIT conditions:
13
+ * https://github.com/se3000/ruby-eth
14
+
15
+ The latest Ruby-Eth gem is not only a rewrite of the aforementioned gem
16
+ but also a partial merge of the Ethereum.rb Ruby Ethereum library by
17
+ Marek Kirejczyk (@marekkirejczyk) and Yuta Kurotaki (@kurotaky) licensed
18
+ under MIT conditions:
19
+ * https://github.com/EthWorks/ethereum.rb
20
+
21
+ The latest version of the Ruby-Eth gem includes a revised version of the
22
+ ABI gem by Jan Xie (@janx) and Zhang Yaning (@u2) licensed under MIT
23
+ conditions:
24
+ * https://github.com/cryptape/ruby-ethereum-abi
25
+
26
+ The latest version of the Ruby-Eth gem contains a condensed version of the
27
+ RLP gem by Jan Xie (@janx) and Zhang Yaning (@u2) licensed under MIT
28
+ conditions:
29
+ * https://github.com/cryptape/ruby-rlp
data/CHANGELOG.md ADDED
@@ -0,0 +1,218 @@
1
+ # Change Log
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ ## [0.5.6]
5
+ ### Added
6
+ - Eth/client: Add gas limit override option for contract deployments ([#128](https://github.com/q9f/eth.rb/pull/128))
7
+ - Eth/abi: support dynamic array encoding ([#122](https://github.com/q9f/eth.rb/pull/122))
8
+
9
+ ### Changed
10
+ - Eth/client: Include contract constructor args when estimating intrinsic gas ([#111](https://github.com/q9f/eth.rb/pull/111))
11
+ - Eth/abi: allow parsing numerics from string inputs ([#112](https://github.com/q9f/eth.rb/pull/112))
12
+ - Eth/signature: fix prefix_message for multibyte characters ([#120](https://github.com/q9f/eth.rb/pull/120))
13
+ - Eth/abi: raise error if numeric comes as string ([#114](https://github.com/q9f/eth.rb/pull/114))
14
+ - Gem: bump version to 0.5.6 ([#130](https://github.com/q9f/eth.rb/pull/130))
15
+
16
+ ## [0.5.5]
17
+ ### Added
18
+ - Eth/contract: Add missing def_delegator for constructor_inputs ([#96](https://github.com/q9f/eth.rb/pull/96))
19
+ - Eth/client: Enable passing in constructor params to deploy ([#106](https://github.com/q9f/eth.rb/pull/106))
20
+ - Eth/chain: add matic/mumbai ([#107](https://github.com/q9f/eth.rb/pull/107))
21
+
22
+ ### Changed
23
+ - Gem: bump version to 0.5.5 ([#89](https://github.com/q9f/eth.rb/pull/89))
24
+ - Docs: update changelog for 0.5.4 ([#90](https://github.com/q9f/eth.rb/pull/90))
25
+ - Ci: add weekly dependency checks ([#91](https://github.com/q9f/eth.rb/pull/91))
26
+ - Build(deps): bump github/codeql-action from 1 to 2 ([#92](https://github.com/q9f/eth.rb/pull/92))
27
+ - Build(deps): bump actions/checkout from 2 to 3 ([#93](https://github.com/q9f/eth.rb/pull/93))
28
+ - Build(deps): bump JamesIves/github-pages-deploy-action from 4.1.7 to 4.3.3 ([#94](https://github.com/q9f/eth.rb/pull/94))
29
+ - Eth/abi: fix handling of hex values for byte strings ([#100](https://github.com/q9f/eth.rb/pull/100))
30
+ - Eth/abi: add a testcase for handling hex and bin strings ([#101](https://github.com/q9f/eth.rb/pull/101))
31
+ - Eth/abi: Fix Eth::Abi::DecodingError in call method ([#105](https://github.com/q9f/eth.rb/pull/105))
32
+ - Eth: some docs and cleanups ([#108](https://github.com/q9f/eth.rb/pull/108))
33
+
34
+ ## [0.5.4]
35
+ ### Added
36
+ - Eth/client: method for eip-1271 ([#80](https://github.com/q9f/eth.rb/pull/80))
37
+
38
+ ### Changed
39
+ - Docs: update changelog ([#77](https://github.com/q9f/eth.rb/pull/77))
40
+ - Gem: bump version to 0.5.4 ([#78](https://github.com/q9f/eth.rb/pull/78))
41
+ - Ci: bump ruby version to 3.1 on ci ([#79](https://github.com/q9f/eth.rb/pull/79))
42
+ - Fix typos ([#81](https://github.com/q9f/eth.rb/pull/81))
43
+ - Eth/contract: allow creating from file, abi, bin ([#83](https://github.com/q9f/eth.rb/pull/83))
44
+ - Eth/client: fix account requirement for client.call() ([#85](https://github.com/q9f/eth.rb/pull/85))
45
+ - Add dependency support for openssl 2.2 and greater, including 3.x ([#88](https://github.com/q9f/eth.rb/pull/88))
46
+
47
+ ## [0.5.3]
48
+ ### Added
49
+ - Smart contract support ([#68](https://github.com/q9f/eth.rb/pull/68))
50
+
51
+ ### Changed
52
+ - Eth/abi: decode event log ([#69](https://github.com/q9f/eth.rb/pull/69))
53
+ - Gem: bump version ([#70](https://github.com/q9f/eth.rb/pull/70))
54
+ - Eth/abi/event: batch log decoder ([#71](https://github.com/q9f/eth.rb/pull/71))
55
+
56
+ ## [0.5.2]
57
+ ### Added
58
+ - Eth/solidity: add solidity compiler bindings ([#66](https://github.com/q9f/eth.rb/pull/66))
59
+
60
+ ### Changed
61
+ - Eth: remove duplicated code ([#62](https://github.com/q9f/eth.rb/pull/62))
62
+ - Ci: allow coverage to drop to 99% without failing ([#63](https://github.com/q9f/eth.rb/pull/63))
63
+ - Docs: update readme ([#64](https://github.com/q9f/eth.rb/pull/64))
64
+ - Docs: add wiki to readme ([#65](https://github.com/q9f/eth.rb/pull/65))
65
+
66
+ ## [0.5.1]
67
+ ### Added
68
+ - Add eth::rlp module ([#52](https://github.com/q9f/eth.rb/pull/52))
69
+ - Eth/client: implement http/ipc ([#37](https://github.com/q9f/eth.rb/pull/37))
70
+
71
+ ### Changed
72
+ - Docs: update changelog ([#61](https://github.com/q9f/eth.rb/pull/61))
73
+ - Eth/chain: add sepolia chain id; docs ([#60](https://github.com/q9f/eth.rb/pull/60))
74
+ - Eth/rlp: cleanup ([#59](https://github.com/q9f/eth.rb/pull/59))
75
+ - Eth/tx: properly serialize signatures ([#58](https://github.com/q9f/eth.rb/pull/58))
76
+ - Eth/client: fix legacy transfer ([#57](https://github.com/q9f/eth.rb/pull/57))
77
+ - Gem: relax openssl requirement ([#56](https://github.com/q9f/eth.rb/pull/56))
78
+ - Docs: update changelog ([#53](https://github.com/q9f/eth.rb/pull/53))
79
+ - Spec: add upstream test fixtures for keystore ([#50](https://github.com/q9f/eth.rb/pull/50))
80
+
81
+ ## [0.5.0]
82
+ ### Added
83
+ - Eth/tx: create legacy, type-1, and type-2 transactions [#33](https://github.com/q9f/eth.rb/pull/33)
84
+ - Signature: implement eip 712 typed structured data signing [#27](https://github.com/q9f/eth.rb/pull/27)
85
+ - Lib: import ABI to eth/abi [#29](https://github.com/q9f/eth.rb/pull/29)
86
+ - Eth/chains: implement eip 155 for replay protection [#20](https://github.com/q9f/eth.rb/pull/20)
87
+
88
+ ### Changed
89
+ - Docs: update readme with features [#49](https://github.com/q9f/eth.rb/pull/49)
90
+ - Eth/tx: add method to estimate intrinsic gas costs [#48](https://github.com/q9f/eth.rb/pull/48)
91
+ - Eth/key: allow chain_id empty for signing messages/data [#47](https://github.com/q9f/eth.rb/pull/47)
92
+ - Gem: prepare for release [#46](https://github.com/q9f/eth.rb/pull/46)
93
+ - Eth/sig: allow v values > 0xff, fix #30 [#43](https://github.com/q9f/eth.rb/pull/43)
94
+ - Eth/abi: refactor for maintainability [#42](https://github.com/q9f/eth.rb/pull/42)
95
+ - Docs: improve readme [#41](https://github.com/q9f/eth.rb/pull/41)
96
+ - Lib: improve error handling [#39](https://github.com/q9f/eth.rb/pull/39)
97
+ - Docs: update readme for tx and keys [#40](https://github.com/q9f/eth.rb/pull/40)
98
+ - Implement encrypt/decrypt [#22](https://github.com/q9f/eth.rb/pull/22)
99
+ - Gem: clean up some docs and scripts [#32](https://github.com/q9f/eth.rb/pull/32)
100
+ - Rename util and chain to singular [#26](https://github.com/q9f/eth.rb/pull/26)
101
+ - Docs: add some examples to readme [#25](https://github.com/q9f/eth.rb/pull/25)
102
+ - Key/signature: personal sign and verify [#24](https://github.com/q9f/eth.rb/pull/24)
103
+ - Ci: only run coverage on CI [#23](https://github.com/q9f/eth.rb/pull/23)
104
+ - Lib/signature: implement personal_recover (eip 191 [#21](https://github.com/q9f/eth.rb/pull/21)
105
+ - Eth/util: public_key_to_address should return an eth::address [#19](https://github.com/q9f/eth.rb/pull/19)
106
+ - Ci: add docs workflow [#18](https://github.com/q9f/eth.rb/pull/18)
107
+ - Address class implementation and tests [#13](https://github.com/q9f/eth.rb/pull/13)
108
+ - Spec: improve util tests [#12](https://github.com/q9f/eth.rb/pull/12)
109
+ - Spec: improve key tests [#11](https://github.com/q9f/eth.rb/pull/11)
110
+ - Gems: bump keccak and secp256k1 [#10](https://github.com/q9f/eth.rb/pull/10)
111
+ - Docs: add code climate badge [#8](https://github.com/q9f/eth.rb/pull/8)
112
+ - Ci: enable codecov [#7](https://github.com/q9f/eth.rb/pull/7)
113
+ - Docs: add AUTHORS file [#6](https://github.com/q9f/eth.rb/pull/6)
114
+ - Lib: implement Eth::Key class [#4](https://github.com/q9f/eth.rb/pull/4)
115
+ - Ci: add nightly schedule [#2](https://github.com/q9f/eth.rb/pull/2)
116
+ - Reset gem to point blank [#1](https://github.com/q9f/eth.rb/pull/1)
117
+
118
+ ## [0.4.18]
119
+ ### Changed
120
+ - CI: add yard doc and rufo workflows [se3000/ruby-eth#75](https://github.com/se3000/ruby-eth/pull/75)
121
+ - Gem: run rufo [se3000/ruby-eth#74](https://github.com/se3000/ruby-eth/pull/74)
122
+ - Gem: dependencies [se3000/ruby-eth#73](https://github.com/se3000/ruby-eth/pull/73)
123
+ - Lib: fix compatibility with libressl (macos) and openssl 1.1.1k [se3000/ruby-eth#66](https://github.com/se3000/ruby-eth/pull/66)
124
+
125
+ ## [0.4.17]
126
+ ### Changed
127
+ - Gems: bump version to 0.4.17 [se3000/ruby-eth#70](https://github.com/se3000/ruby-eth/pull/70)
128
+ - Gems: bump keccak to 1.3.0 [se3000/ruby-eth#69](https://github.com/se3000/ruby-eth/pull/69)
129
+
130
+ ## [0.4.16]
131
+ ### Changed
132
+ - Docs: update changelog [se3000/ruby-eth#65](https://github.com/se3000/ruby-eth/pull/65)
133
+ - Gems: bump version to 0.4.16 [se3000/ruby-eth#65](https://github.com/se3000/ruby-eth/pull/65)
134
+ - License: update copyright notice [se3000/ruby-eth#64](https://github.com/se3000/ruby-eth/pull/64)
135
+ - Docs: add badges to readme [se3000/ruby-eth#64](https://github.com/se3000/ruby-eth/pull/64)
136
+ - Git: deprecating master [se3000/ruby-eth#63](https://github.com/se3000/ruby-eth/pull/63)
137
+ - CI: replace travis with github actions [se3000/ruby-eth#62](https://github.com/se3000/ruby-eth/pull/62)
138
+ - Gems: replace digest-sha3-patched with keccak [se3000/ruby-eth#58](https://github.com/se3000/ruby-eth/pull/58)
139
+
140
+ ## [0.4.13], [0.4.14], [0.4.15]
141
+ _Released as [`eth-patched`](https://github.com/q9f/ruby-eth) from a different source tree._
142
+
143
+ ## [0.4.12]
144
+ ### Changed
145
+ - Bump rake version because of security vulnerability
146
+
147
+ ## [0.4.11]
148
+ ### Added
149
+ - Support for recovering signatures with a V value below 27 (like from Ledger hardware wallets)
150
+
151
+ ## [0.4.10]
152
+ ### Changed
153
+ - Use updated sha3 dependency
154
+ - Improved OpenSSL support
155
+
156
+ ### Changed
157
+ - Changed Eth::Configuration.default_chain_id back to .chain_id for dependent libraries.
158
+
159
+ ## [0.4.9]
160
+ ### Changed
161
+ - [escoffon](https://github.com/escoffon) added support for chain IDs larger than 120.
162
+
163
+ ## [0.4.8]
164
+ ### Added
165
+ - [@buhrmi](https://github.com/buhrmi) added Eth::Key#personal_sign.
166
+ - [@buhrmi](https://github.com/buhrmi) added Eth::Key#personal_recover.
167
+
168
+ ## [0.4.7]
169
+ ### Changed
170
+ - Updated MoneyTree dependency.
171
+
172
+ ## [0.4.6]
173
+ ### Added
174
+ - Support scrypt private key decryption
175
+
176
+ ## [0.4.5]
177
+ ### Changed
178
+ - Further improve Open SSL configurability
179
+
180
+ ## [0.4.4]
181
+ ### Changed
182
+ - Support old versions of SSL to help avoid preious breaking changes
183
+
184
+ ## [0.4.3]
185
+ ### Added
186
+ - Eth::Key::Encrypter class to handle encrypting keys.
187
+ - Eth::Key.encrypt as a nice wrapper around Encrypter class.
188
+ - Eth::Key::Decrypter class to handle encrypting keys.
189
+ - Eth::Key.decrypt as a nice wrapper around Decrypter class.
190
+
191
+ ## [0.4.2]
192
+ ### Added
193
+ - Address#valid? to validate EIP55 checksums.
194
+ - Address#checksummed to generate EIP55 checksums.
195
+ - Utils.valid_address? to easily validate EIP55 checksums.
196
+ - Utils.format_address to easily convert an address to EIP55 checksummed.
197
+
198
+ ### Changed
199
+ - Dependencies no longer include Ethereum::Base. Eth now implements those helpers directly and includes ffi, digest-sha3, and rlp directly.
200
+
201
+
202
+ ## [0.4.1]
203
+ ### Changed
204
+ - Tx#hash includes the '0x' hex prefix.
205
+
206
+ ## [0.4.0]
207
+ ### Added
208
+ - Tx#data_bin returns the data field of a transaction in binary.
209
+ - Tx#data_hex returns the data field of a transaction as a hexadecimal string.
210
+ - Tx#id is an alias of Tx#hash
211
+
212
+ ### Changed
213
+ - Tx#data is configurable to return either hex or binary: `config.tx_data_hex = true`.
214
+ - Tx#hex includes the '0x' hex prefix.
215
+ - Key#address getter is prepended by '0x'.
216
+ - Extract public key to address method into Utils.public_key_to_address.
217
+ - Tx#from returns an address instead of a public key.
218
+ - Chain ID is updated to the later version of the spec.
data/Gemfile ADDED
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ source "https://rubygems.org"
4
+
5
+ group :test, :development do
6
+ gem "bundler", "~> 2.2"
7
+ gem "codecov", "~> 0.6"
8
+ gem "pry", "~> 0.14"
9
+ gem "rake", "~> 13.0"
10
+ gem "rdoc", "~> 6.3"
11
+ gem "rspec", "~> 3.10"
12
+ gem "rufo", "~> 0.13"
13
+ gem "simplecov", "~> 0.21"
14
+ gem "yard", "~> 0.9"
15
+ end
16
+
17
+ gemspec