web3-eth 0.2.36 → 0.2.41

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cfa6ac2b09df6733ebf7c080f59efb5c763151600585f8fda8e168ff047a92db
4
- data.tar.gz: 72846a50c8aa48ce3d8c5f35e1710646ffb58ba6abb9eb9571a1ee0914376f3c
3
+ metadata.gz: 3355f35916a408a0640e8d652741d134f429541110febf62f93773bc78b448c3
4
+ data.tar.gz: 4870449d706dbccd3f3e7f8d72b7842aeee20c8a33990f94057b93397f26157b
5
5
  SHA512:
6
- metadata.gz: 9898839d6cf11c3c78d8c13323d82f45f81e26ccff56e60c23fbbb8ff383d082af7d8c586cceae18b267f6cfff0694a436a05bbecac62ec71a07c508b8ee85e7
7
- data.tar.gz: 4b48ff8c92027fd02f42df613ff02d38951948ab94b661bd669f47755ce8af03f8a0c69e5c9abf4aa81ff90ec1b9dab9cd40279ef33e87c48ad912365f3e49b5
6
+ metadata.gz: 9aa5a5a22e95ec0cc64d58417f1cfb665dcf0668689a26127faa238a0aec12052d4640ae3b86703b2ec7d02e3839b5f5697ee0d65ca28eb9dbe52bb1b928af76
7
+ data.tar.gz: e33b8e6d1bf96ad6a9886fc37a6def521b46ad36d1ed047a8b0ce974a2a3d0578ac10f69d284d2fb03f5aa0f84c28bc0c75545db3c8997f7236f326a6f882a59
@@ -11,5 +11,6 @@ require "web3/eth/eth_module"
11
11
  require "web3/eth/debug/debug_module"
12
12
  require "web3/eth/debug/transaction_call_trace"
13
13
  require "web3/eth/trace_module"
14
+ require "web3/eth/parity_module"
14
15
  require "web3/eth/etherscan"
15
16
  require "web3/eth/rpc"
@@ -92,7 +92,7 @@ module Web3
92
92
  def do_call web3_rpc, contract_address, args
93
93
  data = '0x' + signature_hash + encode_hex(encode_abi(input_types, args) )
94
94
 
95
- response = web3_rpc.request "eth_call", [{ to: contract_address, data: data}, 'latest']
95
+ response = web3_rpc.eth.call [{ to: contract_address, data: data}, 'latest']
96
96
 
97
97
  string_data = [remove_0x_head(response)].pack('H*')
98
98
  return nil if string_data.empty?
@@ -16,7 +16,10 @@ module Web3::Eth::Debug
16
16
  end
17
17
 
18
18
  def traceBlockByNumber number, tracer = 'callTracer', convert_to_object = true
19
- raw = @web3_rpc.request("#{PREFIX}#{__method__}", [hex(number), {tracer: tracer}])
19
+ timeout = @web3_rpc.connect_options[:read_timeout] || 120
20
+ raw = @web3_rpc.request("#{PREFIX}#{__method__}", [hex(number), {tracer: tracer,
21
+ timeout: "#{timeout}s"}])
22
+ raise raw.first['error'] if (raw.first && raw.first['error'])
20
23
  convert_to_object ? raw.map{|r| TransactionCallTrace.new(r['result'])} : raw
21
24
  end
22
25
 
@@ -25,7 +25,7 @@ module Web3::Eth::Debug
25
25
  end
26
26
 
27
27
  def smart_contract
28
- ['DELEGATECALL','CALL'].include?(type) ? to : from
28
+ ['STATICCALL','CALL'].include?(type) ? to : from
29
29
  end
30
30
 
31
31
  def creates
@@ -0,0 +1,26 @@
1
+ module Web3
2
+ module Eth
3
+
4
+ class ParityModule
5
+
6
+ include Web3::Eth::Utility
7
+
8
+ PREFIX = 'parity_'
9
+
10
+ def initialize web3_rpc
11
+ @web3_rpc = web3_rpc
12
+ end
13
+
14
+ def method_missing m, *args
15
+ @web3_rpc.request "#{PREFIX}#{m}", args[0]
16
+ end
17
+
18
+ def getBlockReceiptsByBlockNumber block
19
+ @web3_rpc.request("#{PREFIX}getBlockReceipts", [hex(block)]).collect{|tr|
20
+ TransactionReceipt.new tr
21
+ }
22
+ end
23
+
24
+ end
25
+ end
26
+ end
@@ -17,7 +17,7 @@ module Web3
17
17
  DEFAULT_HOST = 'localhost'
18
18
  DEFAULT_PORT = 8545
19
19
 
20
- attr_reader :eth, :trace
20
+ attr_reader :eth, :connect_options
21
21
 
22
22
  def initialize host: DEFAULT_HOST, port: DEFAULT_PORT, connect_options: DEFAULT_CONNECT_OPTIONS
23
23
 
@@ -27,15 +27,20 @@ module Web3
27
27
  @connect_options = connect_options
28
28
 
29
29
  @eth = EthModule.new self
30
- @trace = TraceModule.new self
31
30
 
32
31
  end
33
32
 
33
+ def trace
34
+ @trace ||= TraceModule.new(self)
35
+ end
34
36
 
35
- def debug
36
- Debug::DebugModule.new self
37
+ def parity
38
+ @parity ||= ParityModule.new(self)
37
39
  end
38
40
 
41
+ def debug
42
+ @debug ||= Debug::DebugModule.new(self)
43
+ end
39
44
 
40
45
  def request method, params = nil
41
46
 
@@ -21,6 +21,12 @@ module Web3
21
21
  }
22
22
  end
23
23
 
24
+ def tracesByBlockNumber block
25
+ @web3_rpc.request("#{PREFIX}block", [hex(block)]).collect{|t|
26
+ CallTrace.new t
27
+ }
28
+ end
29
+
24
30
  end
25
31
  end
26
32
  end
@@ -1,5 +1,5 @@
1
1
  module Web3
2
2
  module Eth
3
- VERSION = "0.2.36"
3
+ VERSION = "0.2.41"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web3-eth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.36
4
+ version: 0.2.41
5
5
  platform: ruby
6
6
  authors:
7
7
  - studnev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-24 00:00:00.000000000 Z
11
+ date: 2020-06-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rlp
@@ -110,6 +110,7 @@ files:
110
110
  - lib/web3/eth/eth_module.rb
111
111
  - lib/web3/eth/etherscan.rb
112
112
  - lib/web3/eth/log.rb
113
+ - lib/web3/eth/parity_module.rb
113
114
  - lib/web3/eth/rpc.rb
114
115
  - lib/web3/eth/trace_module.rb
115
116
  - lib/web3/eth/transaction.rb