eth-custom 0.5.7

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.
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