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