etherlite 0.5.3 → 0.6.0
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 +4 -4
- data/etherlite.gemspec +17 -17
- data/lib/etherlite/account/private_key.rb +5 -14
- data/lib/etherlite/api/node.rb +0 -9
- data/lib/etherlite/connection.rb +1 -1
- data/lib/etherlite/version.rb +1 -1
- data/lib/etherlite.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98f9a12feec6ffb0a40a90f914810d9960f526920cc86bbbfe1c323ea83cc2ea
|
4
|
+
data.tar.gz: ea64f460710a7f52bcc3b1ea1a0ec1f7dbc2c3d06eba96f5a07df491efd07bb7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8af135b1ea2716ee896df900dcc425fd47d0384990d89964fd06b43dae03ad7c0e3bf1937937b0119ebed6171e416548d4744b258b0607ddf6a6dae9bcd45f2d
|
7
|
+
data.tar.gz: 6e0f1ec2f8db9860147e475b0ec7e283902ce70a580a6633d5eff126d18b3dcbd6c039f72ddeed4b1a47e0b30edd7cb7c2caa1b22fe83548add6591e2f19f7dd
|
data/etherlite.gemspec
CHANGED
@@ -3,33 +3,33 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require 'etherlite/version'
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name =
|
6
|
+
spec.name = 'etherlite'
|
7
7
|
spec.version = Etherlite::VERSION
|
8
|
-
spec.authors = [
|
9
|
-
spec.email = [
|
8
|
+
spec.authors = ['Ignacio Baixas']
|
9
|
+
spec.email = ['ignacio@budacom.com']
|
10
10
|
|
11
11
|
spec.summary = 'Ethereum integration for ruby on rails'
|
12
12
|
spec.description = ''
|
13
|
-
spec.homepage =
|
14
|
-
spec.license =
|
13
|
+
spec.homepage = 'https://github.com/budacom/etherlite'
|
14
|
+
spec.license = 'MIT'
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject do |f|
|
17
17
|
f.match(%r{^(test|spec|features)/})
|
18
18
|
end
|
19
|
-
spec.bindir =
|
19
|
+
spec.bindir = 'exe'
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
|
-
spec.require_paths = [
|
21
|
+
spec.require_paths = ['lib']
|
22
22
|
|
23
|
-
spec.add_dependency
|
24
|
-
spec.add_dependency
|
23
|
+
spec.add_dependency 'activesupport'
|
24
|
+
spec.add_dependency 'eth', '~> 0.5.10'
|
25
25
|
spec.add_dependency 'keccak', '~> 1.3', '>= 1.3.1'
|
26
|
-
spec.add_dependency
|
26
|
+
spec.add_dependency 'power-types', '~> 0.1'
|
27
27
|
|
28
|
-
spec.add_development_dependency
|
29
|
-
spec.add_development_dependency
|
30
|
-
spec.add_development_dependency
|
31
|
-
spec.add_development_dependency
|
32
|
-
spec.add_development_dependency
|
33
|
-
spec.add_development_dependency
|
34
|
-
spec.add_development_dependency
|
28
|
+
spec.add_development_dependency 'bundler', '~> 2.1'
|
29
|
+
spec.add_development_dependency 'guard', '~> 2.14'
|
30
|
+
spec.add_development_dependency 'guard-rspec', '~> 4.7'
|
31
|
+
spec.add_development_dependency 'pry'
|
32
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
33
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
34
|
+
spec.add_development_dependency 'webmock', '~> 3.7.5'
|
35
35
|
end
|
@@ -5,13 +5,14 @@ module Etherlite
|
|
5
5
|
class PrivateKey < Base
|
6
6
|
def initialize(_connection, _pk)
|
7
7
|
@key = Eth::Key.new priv: _pk
|
8
|
-
super _connection, Etherlite::Utils.normalize_address(@key.address)
|
8
|
+
super _connection, Etherlite::Utils.normalize_address(@key.address.to_s)
|
9
9
|
end
|
10
10
|
|
11
11
|
def build_raw_transaction(_options = {})
|
12
12
|
nonce = nonce_manager.next_nonce_for(normalized_address, _options.slice(:replace, :nonce))
|
13
13
|
|
14
14
|
tx = Eth::Tx.new(
|
15
|
+
chain_id: @connection.chain_id,
|
15
16
|
value: _options.fetch(:value, 0),
|
16
17
|
data: _options.fetch(:data, ''),
|
17
18
|
gas_limit: _options.fetch(:gas, 90_000),
|
@@ -20,23 +21,20 @@ module Etherlite
|
|
20
21
|
nonce: nonce
|
21
22
|
)
|
22
23
|
|
23
|
-
|
24
|
-
|
24
|
+
tx.sign @key
|
25
25
|
tx
|
26
26
|
end
|
27
27
|
|
28
28
|
def send_transaction(_options = {})
|
29
29
|
tx = build_raw_transaction(_options)
|
30
30
|
|
31
|
-
nonce_manager.with_next_nonce_for(normalized_address, nonce: tx.
|
32
|
-
Etherlite::Transaction.new @connection, @connection.eth_send_raw_transaction(tx.hex)
|
31
|
+
nonce_manager.with_next_nonce_for(normalized_address, nonce: tx.signer_nonce) do |_|
|
32
|
+
Etherlite::Transaction.new @connection, @connection.eth_send_raw_transaction("0x#{tx.hex}")
|
33
33
|
end
|
34
34
|
end
|
35
35
|
|
36
36
|
private
|
37
37
|
|
38
|
-
@@eth_mutex = Mutex.new
|
39
|
-
|
40
38
|
def gas_price
|
41
39
|
# TODO: improve on this
|
42
40
|
@gas_price ||= connection.eth_gas_price
|
@@ -45,13 +43,6 @@ module Etherlite
|
|
45
43
|
def nonce_manager
|
46
44
|
Etherlite::NonceManager.new @connection
|
47
45
|
end
|
48
|
-
|
49
|
-
def sign_with_connection_chain(_tx)
|
50
|
-
@@eth_mutex.synchronize do
|
51
|
-
Eth.configure { |c| c.chain_id = @connection.chain_id }
|
52
|
-
_tx.sign @key
|
53
|
-
end
|
54
|
-
end
|
55
46
|
end
|
56
47
|
end
|
57
48
|
end
|
data/lib/etherlite/api/node.rb
CHANGED
@@ -60,15 +60,6 @@ module Etherlite
|
|
60
60
|
@anonymous_account ||= Etherlite::Account::Anonymous.new(connection)
|
61
61
|
end
|
62
62
|
|
63
|
-
def account_from_pk(_pk)
|
64
|
-
Etherlite.logger.warn(
|
65
|
-
"use of 'account_from_pk' is deprecated and will be removed in next version, \
|
66
|
-
use 'load_account' instead"
|
67
|
-
)
|
68
|
-
|
69
|
-
load_account(from_pk: _pk)
|
70
|
-
end
|
71
|
-
|
72
63
|
def_delegators :default_account, :unlock, :lock, :normalized_address, :transfer_to, :call
|
73
64
|
end
|
74
65
|
end
|
data/lib/etherlite/connection.rb
CHANGED
data/lib/etherlite/version.rb
CHANGED
data/lib/etherlite.rb
CHANGED
@@ -56,7 +56,7 @@ module Etherlite
|
|
56
56
|
_url = URI(_url) unless _url.is_a? URI
|
57
57
|
|
58
58
|
options = config.default_connection_options
|
59
|
-
options = options.merge _options.slice
|
59
|
+
options = options.merge _options.slice(*options.keys)
|
60
60
|
|
61
61
|
Client.new Connection.new(_url, options)
|
62
62
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: etherlite
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ignacio Baixas
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-04-
|
11
|
+
date: 2023-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.
|
33
|
+
version: 0.5.10
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.
|
40
|
+
version: 0.5.10
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: keccak
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|