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.
- checksums.yaml +7 -0
- data/.github/dependabot.yml +18 -0
- data/.github/workflows/codeql.yml +48 -0
- data/.github/workflows/docs.yml +26 -0
- data/.github/workflows/spec.yml +52 -0
- data/.gitignore +43 -0
- data/.gitmodules +3 -0
- data/.rspec +4 -0
- data/.yardopts +1 -0
- data/AUTHORS.txt +29 -0
- data/CHANGELOG.md +218 -0
- data/Gemfile +17 -0
- data/LICENSE.txt +202 -0
- data/README.md +347 -0
- data/Rakefile +6 -0
- data/bin/console +10 -0
- data/bin/setup +9 -0
- data/codecov.yml +6 -0
- data/eth.gemspec +51 -0
- data/lib/eth/abi/event.rb +137 -0
- data/lib/eth/abi/type.rb +178 -0
- data/lib/eth/abi.rb +446 -0
- data/lib/eth/address.rb +106 -0
- data/lib/eth/api.rb +223 -0
- data/lib/eth/chain.rb +157 -0
- data/lib/eth/client/http.rb +63 -0
- data/lib/eth/client/ipc.rb +50 -0
- data/lib/eth/client.rb +499 -0
- data/lib/eth/constant.rb +71 -0
- data/lib/eth/contract/event.rb +42 -0
- data/lib/eth/contract/function.rb +57 -0
- data/lib/eth/contract/function_input.rb +38 -0
- data/lib/eth/contract/function_output.rb +37 -0
- data/lib/eth/contract/initializer.rb +47 -0
- data/lib/eth/contract.rb +143 -0
- data/lib/eth/eip712.rb +184 -0
- data/lib/eth/key/decrypter.rb +146 -0
- data/lib/eth/key/encrypter.rb +207 -0
- data/lib/eth/key.rb +167 -0
- data/lib/eth/rlp/decoder.rb +114 -0
- data/lib/eth/rlp/encoder.rb +78 -0
- data/lib/eth/rlp/sedes/big_endian_int.rb +66 -0
- data/lib/eth/rlp/sedes/binary.rb +97 -0
- data/lib/eth/rlp/sedes/list.rb +84 -0
- data/lib/eth/rlp/sedes.rb +74 -0
- data/lib/eth/rlp.rb +63 -0
- data/lib/eth/signature.rb +163 -0
- data/lib/eth/solidity.rb +75 -0
- data/lib/eth/tx/eip1559.rb +337 -0
- data/lib/eth/tx/eip2930.rb +329 -0
- data/lib/eth/tx/legacy.rb +297 -0
- data/lib/eth/tx.rb +322 -0
- data/lib/eth/unit.rb +49 -0
- data/lib/eth/util.rb +235 -0
- data/lib/eth/version.rb +20 -0
- data/lib/eth.rb +35 -0
- 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
data/.rspec
ADDED
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
|