web3-eth 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/README.md +3 -0
- data/lib/web3/eth/abi/abi_coder.rb +10 -5
- data/lib/web3/eth/call_trace.rb +39 -2
- data/lib/web3/eth/contract.rb +59 -43
- data/lib/web3/eth/rpc.rb +1 -1
- data/lib/web3/eth/transaction.rb +9 -10
- data/lib/web3/eth/transaction_receipt.rb +4 -4
- data/lib/web3/eth/version.rb +1 -1
- metadata +2 -3
- data/.idea/workspace.xml +0 -764
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d83e37d8883b9c3f2f24ae5d618aac0ca4b55f5a
|
4
|
+
data.tar.gz: c8f12035144eed30d9ae325899eb32e3e1f5b83e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0e0f2978e11073a94723cd6f3d7419c971b467137f82f8819af1afd9c2f92307c662d617be356d916ed6ce5ce5979dd4778de94b62f9920020e0f5b160693b50
|
7
|
+
data.tar.gz: 9e62e9f999b7bb8c71dcb5da4a26e1c202df1f006655260a0a617692e92598b56efb1d93f6ebdd714fb33c3088bee36b3eeb83477e1035463ab24404bd04131b
|
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -49,6 +49,9 @@ web3 = Web3::Eth::Rpc.new host: 'node.host.com',
|
|
49
49
|
connect_options: { use_ssl: true, read_timeout: 120 }
|
50
50
|
```
|
51
51
|
|
52
|
+
HTTP connection options are from [Ruby HTTP](https://ruby-doc.org/stdlib-2.4.2/libdoc/net/http/rdoc/Net/HTTP.html) plus additional optional property
|
53
|
+
**rpc_path** - path to RPC interface.
|
54
|
+
|
52
55
|
### Calling eth interface
|
53
56
|
|
54
57
|
```
|
@@ -243,13 +243,14 @@ module Web3::Eth::Abi
|
|
243
243
|
end
|
244
244
|
alias :decode :decode_abi
|
245
245
|
|
246
|
+
def decode_typed_data type_name, data
|
247
|
+
decode_primitive_type Type.parse(type_name), data
|
248
|
+
end
|
249
|
+
|
246
250
|
def decode_type(type, arg)
|
247
251
|
if %w(string bytes).include?(type.base) && type.sub.empty?
|
248
252
|
l = Utils.big_endian_to_int arg[0,32]
|
249
253
|
data = arg[32..-1]
|
250
|
-
|
251
|
-
raise DecodingError, "Wrong data size for string/bytes object" unless data.size == Utils.ceil32(l)
|
252
|
-
|
253
254
|
data[0, l]
|
254
255
|
elsif type.dynamic?
|
255
256
|
l = Utils.big_endian_to_int arg[0,32]
|
@@ -283,8 +284,12 @@ module Web3::Eth::Abi
|
|
283
284
|
Utils.encode_hex data[12..-1]
|
284
285
|
when 'string', 'bytes'
|
285
286
|
if type.sub.empty? # dynamic
|
286
|
-
|
287
|
-
|
287
|
+
if data.length==32
|
288
|
+
data[0..32]
|
289
|
+
else
|
290
|
+
size = Utils.big_endian_to_int data[0,32]
|
291
|
+
data[32..-1][0,size]
|
292
|
+
end
|
288
293
|
else # fixed
|
289
294
|
data[0, type.sub.to_i]
|
290
295
|
end
|
data/lib/web3/eth/call_trace.rb
CHANGED
@@ -30,11 +30,48 @@ module Web3
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def input
|
33
|
-
action['input']
|
33
|
+
action['input'] || action['init']
|
34
34
|
end
|
35
35
|
|
36
36
|
def output
|
37
|
-
result['output']
|
37
|
+
result && result['output']
|
38
|
+
end
|
39
|
+
|
40
|
+
def gas_used
|
41
|
+
result && from_hex(result['gasUsed'])
|
42
|
+
end
|
43
|
+
|
44
|
+
def method_hash
|
45
|
+
if input && input.length>=10
|
46
|
+
input[2...10]
|
47
|
+
else
|
48
|
+
nil
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def creates
|
53
|
+
action['init'] && result['address']
|
54
|
+
end
|
55
|
+
|
56
|
+
# suffix # 0xa1 0x65 'b' 'z' 'z' 'r' '0' 0x58 0x20 <32 bytes swarm hash> 0x00 0x29
|
57
|
+
# look http://solidity.readthedocs.io/en/latest/metadata.html for details
|
58
|
+
def call_input_data
|
59
|
+
if creates && input
|
60
|
+
input[/a165627a7a72305820\w{64}0029(\w*)/,1]
|
61
|
+
elsif input && input.length>10
|
62
|
+
input[10..input.length]
|
63
|
+
else
|
64
|
+
[]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
|
69
|
+
def suicide?
|
70
|
+
type=='suicide'
|
71
|
+
end
|
72
|
+
|
73
|
+
def balance_ether
|
74
|
+
wei_to_ether action['balance'].to_i(16)
|
38
75
|
end
|
39
76
|
|
40
77
|
end
|
data/lib/web3/eth/contract.rb
CHANGED
@@ -2,11 +2,6 @@ module Web3
|
|
2
2
|
module Eth
|
3
3
|
class Contract
|
4
4
|
|
5
|
-
include Abi::AbiCoder
|
6
|
-
include Abi::Utils
|
7
|
-
include Utility
|
8
|
-
|
9
|
-
|
10
5
|
class ContractInstance
|
11
6
|
|
12
7
|
def initialize contract, address
|
@@ -29,6 +24,11 @@ module Web3
|
|
29
24
|
end
|
30
25
|
|
31
26
|
class ContractMethod
|
27
|
+
|
28
|
+
include Abi::AbiCoder
|
29
|
+
include Abi::Utils
|
30
|
+
include Utility
|
31
|
+
|
32
32
|
attr_reader :abi, :signature, :name, :signature_hash, :input_types, :output_types, :constant
|
33
33
|
|
34
34
|
def initialize abi
|
@@ -41,6 +41,56 @@ module Web3
|
|
41
41
|
@signature_hash = Abi::Utils.signature_hash @signature, (abi['type']=='event' ? 64 : 8)
|
42
42
|
end
|
43
43
|
|
44
|
+
def parse_event_args log
|
45
|
+
|
46
|
+
log_data = remove_0x_head log.raw_data['data']
|
47
|
+
indexed_types = abi['inputs'].select{|a| a['indexed']}.collect{|a| a['type']}
|
48
|
+
not_indexed_types = abi['inputs'].select{|a| !a['indexed']}.collect{|a| a['type']}
|
49
|
+
|
50
|
+
indexed_args = log.indexed_args
|
51
|
+
|
52
|
+
if indexed_args.size==indexed_types.size
|
53
|
+
|
54
|
+
indexed_values = [indexed_types, indexed_args].transpose.collect{|arg|
|
55
|
+
decode_typed_data( arg.first, [arg.second].pack('H*') )
|
56
|
+
}
|
57
|
+
|
58
|
+
not_indexed_values = not_indexed_types.empty? ? [] :
|
59
|
+
decode_abi(not_indexed_types, [log_data].pack('H*') )
|
60
|
+
|
61
|
+
i = j = 0
|
62
|
+
|
63
|
+
abi['inputs'].collect{|input|
|
64
|
+
input['indexed'] ? (i+=1; indexed_values[i-1]) : (j+=1;not_indexed_values[j-1])
|
65
|
+
}
|
66
|
+
|
67
|
+
elsif !indexed_args.empty? || !log_data.empty?
|
68
|
+
all_types = abi['inputs'].collect{|a| a['type']}
|
69
|
+
decode_abi(all_types, [ indexed_args.join + log_data].pack('H*') )
|
70
|
+
else
|
71
|
+
[]
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
def parse_method_args transaction
|
78
|
+
d = transaction.call_input_data
|
79
|
+
(!d || d.empty?) ? [] : decode_abi(input_types, [d].pack('H*'))
|
80
|
+
end
|
81
|
+
|
82
|
+
def do_call web3_rpc, contract_address, args
|
83
|
+
data = '0x' + signature_hash + encode_hex(encode_abi(input_types, args) )
|
84
|
+
|
85
|
+
response = web3_rpc.request "eth_call", [{ to: contract_address, data: data}, 'latest']
|
86
|
+
|
87
|
+
string_data = [remove_0x_head(response)].pack('H*')
|
88
|
+
return nil if string_data.empty?
|
89
|
+
|
90
|
+
result = decode_abi output_types, string_data
|
91
|
+
result.length==1 ? result.first : result
|
92
|
+
end
|
93
|
+
|
44
94
|
end
|
45
95
|
|
46
96
|
attr_reader :web3_rpc, :abi, :functions, :events, :constructor
|
@@ -56,21 +106,10 @@ module Web3
|
|
56
106
|
end
|
57
107
|
|
58
108
|
def call_contract contract_address, method_name, args
|
59
|
-
|
60
109
|
function = functions[method_name]
|
61
110
|
raise "No method found in ABI: #{method_name}" unless function
|
62
111
|
raise "Function #{method_name} is not constant: #{method_name}, requires to sign transaction" unless function.constant
|
63
|
-
|
64
|
-
data = '0x' + function.signature_hash + encode_hex(encode_abi(function.input_types, args) )
|
65
|
-
|
66
|
-
response = web3_rpc.request "eth_call", [{ to: contract_address, data: data}, 'latest']
|
67
|
-
|
68
|
-
string_data = [remove_0x_head(response)].pack('H*')
|
69
|
-
return nil if string_data.empty?
|
70
|
-
|
71
|
-
result = decode_abi function.output_types, string_data
|
72
|
-
result.length==1 ? result.first : result
|
73
|
-
|
112
|
+
function.do_call web3_rpc, contract_address, args
|
74
113
|
end
|
75
114
|
|
76
115
|
def find_event_by_hash method_hash
|
@@ -82,43 +121,20 @@ module Web3
|
|
82
121
|
end
|
83
122
|
|
84
123
|
def parse_log_args log
|
85
|
-
|
86
124
|
event = find_event_by_hash log.method_hash
|
87
125
|
raise "No event found by hash #{log.method_hash}, probably ABI is not related to log event" unless event
|
88
|
-
|
89
|
-
not_indexed_types = event.abi['inputs'].select{|a| !a['indexed']}.collect{|a| a['type']}
|
90
|
-
not_indexed_values = not_indexed_types.empty? ? [] :
|
91
|
-
decode_abi(not_indexed_types, [remove_0x_head(log.raw_data['data'])].pack('H*') )
|
92
|
-
|
93
|
-
indexed_types = event.abi['inputs'].select{|a| a['indexed']}.collect{|a| a['type']}
|
94
|
-
indexed_values = [indexed_types, log.indexed_args].transpose.collect{|arg|
|
95
|
-
decode_abi([arg.first], [arg.second].pack('H*') ).first
|
96
|
-
}
|
97
|
-
|
98
|
-
i = j = 0
|
99
|
-
|
100
|
-
args = event.abi['inputs'].collect{|input|
|
101
|
-
input['indexed'] ? (i+=1; indexed_values[i-1]) : (j+=1;not_indexed_values[j-1])
|
102
|
-
}
|
103
|
-
|
104
|
-
{event: event, args: args}
|
105
|
-
|
126
|
+
event.parse_event_args log
|
106
127
|
end
|
107
128
|
|
108
129
|
def parse_call_args transaction
|
109
130
|
function = find_function_by_hash transaction.method_hash
|
110
131
|
raise "No function found by hash #{transaction.method_hash}, probably ABI is not related to call" unless function
|
111
|
-
|
112
|
-
decode_abi([arg.first], [arg.second].pack('H*') ).first
|
113
|
-
}
|
132
|
+
function.parse_method_args transaction
|
114
133
|
end
|
115
134
|
|
116
135
|
|
117
136
|
def parse_constructor_args transaction
|
118
|
-
|
119
|
-
# look http://solidity.readthedocs.io/en/latest/metadata.html for details
|
120
|
-
args = transaction.input[/a165627a7a72305820\w{64}0029(\w*)/,1]
|
121
|
-
args ? decode_abi(constructor.input_types, [args].pack('H*') ) : []
|
137
|
+
constructor ? constructor.parse_method_args(transaction) : []
|
122
138
|
end
|
123
139
|
|
124
140
|
private
|
data/lib/web3/eth/rpc.rb
CHANGED
@@ -23,7 +23,7 @@ module Web3
|
|
23
23
|
|
24
24
|
@client_id = Random.rand 10000000
|
25
25
|
|
26
|
-
@uri = URI((connect_options[:use_ssl] ? 'https' : 'http')+ "://#{host}:#{port}")
|
26
|
+
@uri = URI((connect_options[:use_ssl] ? 'https' : 'http')+ "://#{host}:#{port}#{connect_options[:rpc_path]}")
|
27
27
|
@connect_options = connect_options
|
28
28
|
|
29
29
|
@eth = EthModule.new self
|
data/lib/web3/eth/transaction.rb
CHANGED
@@ -9,13 +9,10 @@ module Web3
|
|
9
9
|
|
10
10
|
def initialize transaction_data
|
11
11
|
@raw_data = transaction_data
|
12
|
-
|
13
12
|
transaction_data.each do |k, v|
|
14
13
|
self.instance_variable_set("@#{k}", v)
|
15
14
|
self.class.send(:define_method, k, proc {self.instance_variable_get("@#{k}")})
|
16
15
|
end
|
17
|
-
|
18
|
-
|
19
16
|
end
|
20
17
|
|
21
18
|
def method_hash
|
@@ -26,11 +23,13 @@ module Web3
|
|
26
23
|
end
|
27
24
|
end
|
28
25
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
}
|
26
|
+
# suffix # 0xa1 0x65 'b' 'z' 'z' 'r' '0' 0x58 0x20 <32 bytes swarm hash> 0x00 0x29
|
27
|
+
# look http://solidity.readthedocs.io/en/latest/metadata.html for details
|
28
|
+
def call_input_data
|
29
|
+
if creates && input
|
30
|
+
input[/a165627a7a72305820\w{64}0029(\w*)/,1]
|
31
|
+
elsif input && input.length>10
|
32
|
+
input[10..input.length]
|
34
33
|
else
|
35
34
|
[]
|
36
35
|
end
|
@@ -44,8 +43,8 @@ module Web3
|
|
44
43
|
wei_to_ether from_hex value
|
45
44
|
end
|
46
45
|
|
47
|
-
def
|
48
|
-
|
46
|
+
def gas_limit
|
47
|
+
from_hex gas
|
49
48
|
end
|
50
49
|
|
51
50
|
def gasPrice_eth
|
@@ -27,13 +27,13 @@ module Web3
|
|
27
27
|
status==1 || status=='0x1' || status.nil?
|
28
28
|
end
|
29
29
|
|
30
|
-
def
|
31
|
-
|
30
|
+
def gas_used
|
31
|
+
from_hex gasUsed
|
32
32
|
end
|
33
33
|
|
34
34
|
|
35
|
-
def
|
36
|
-
|
35
|
+
def cumulative_gas_used
|
36
|
+
from_hex cumulativeGasUsed
|
37
37
|
end
|
38
38
|
|
39
39
|
end
|
data/lib/web3/eth/version.rb
CHANGED
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.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- studnev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-01-
|
11
|
+
date: 2018-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rlp
|
@@ -88,7 +88,6 @@ extensions: []
|
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
90
|
- ".gitignore"
|
91
|
-
- ".idea/workspace.xml"
|
92
91
|
- ".travis.yml"
|
93
92
|
- CODE_OF_CONDUCT.md
|
94
93
|
- Gemfile
|
data/.idea/workspace.xml
DELETED
@@ -1,764 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<project version="4">
|
3
|
-
<component name="ChangeListManager">
|
4
|
-
<list default="true" id="77985b6c-f92a-4530-bf9e-bd636f59215e" name="Default" comment="fix for event reading">
|
5
|
-
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
|
6
|
-
</list>
|
7
|
-
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
8
|
-
<option name="TRACKING_ENABLED" value="true" />
|
9
|
-
<option name="SHOW_DIALOG" value="false" />
|
10
|
-
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
11
|
-
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
12
|
-
<option name="LAST_RESOLUTION" value="IGNORE" />
|
13
|
-
</component>
|
14
|
-
<component name="ChangesViewManager" flattened_view="false" />
|
15
|
-
<component name="CoverageDataManager">
|
16
|
-
<SUITE FILE_PATH="coverage/web3_eth@Rails_console__dao.coverage" NAME="Rails console: dao Coverage Results" MODIFIED="1509908652997" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$USER_HOME$/sources/dao" MODULE_NAME="dao" />
|
17
|
-
</component>
|
18
|
-
<component name="FileEditorManager">
|
19
|
-
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
20
|
-
<file leaf-file-name="web3-eth.gemspec" pinned="false" current-in-tab="false">
|
21
|
-
<entry file="file://$PROJECT_DIR$/web3-eth.gemspec">
|
22
|
-
<provider selected="true" editor-type-id="text-editor">
|
23
|
-
<state relative-caret-position="330">
|
24
|
-
<caret line="22" column="74" lean-forward="false" selection-start-line="22" selection-start-column="74" selection-end-line="22" selection-end-column="74" />
|
25
|
-
<folding />
|
26
|
-
</state>
|
27
|
-
</provider>
|
28
|
-
</entry>
|
29
|
-
</file>
|
30
|
-
<file leaf-file-name="Gemfile" pinned="false" current-in-tab="false">
|
31
|
-
<entry file="file://$PROJECT_DIR$/Gemfile">
|
32
|
-
<provider selected="true" editor-type-id="text-editor">
|
33
|
-
<state relative-caret-position="30">
|
34
|
-
<caret line="2" column="25" lean-forward="false" selection-start-line="2" selection-start-column="25" selection-end-line="2" selection-end-column="25" />
|
35
|
-
<folding />
|
36
|
-
</state>
|
37
|
-
</provider>
|
38
|
-
</entry>
|
39
|
-
</file>
|
40
|
-
<file leaf-file-name="version.rb" pinned="false" current-in-tab="false">
|
41
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/version.rb">
|
42
|
-
<provider selected="true" editor-type-id="text-editor">
|
43
|
-
<state relative-caret-position="30">
|
44
|
-
<caret line="2" column="20" lean-forward="false" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
|
45
|
-
<folding />
|
46
|
-
</state>
|
47
|
-
</provider>
|
48
|
-
</entry>
|
49
|
-
</file>
|
50
|
-
<file leaf-file-name="Gemfile.lock" pinned="false" current-in-tab="true">
|
51
|
-
<entry file="file://$PROJECT_DIR$/Gemfile.lock">
|
52
|
-
<provider selected="true" editor-type-id="text-editor">
|
53
|
-
<state relative-caret-position="45">
|
54
|
-
<caret line="3" column="19" lean-forward="false" selection-start-line="3" selection-start-column="19" selection-end-line="3" selection-end-column="19" />
|
55
|
-
<folding />
|
56
|
-
</state>
|
57
|
-
</provider>
|
58
|
-
</entry>
|
59
|
-
</file>
|
60
|
-
<file leaf-file-name="contract.rb" pinned="false" current-in-tab="false">
|
61
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/contract.rb">
|
62
|
-
<provider selected="true" editor-type-id="text-editor">
|
63
|
-
<state relative-caret-position="279">
|
64
|
-
<caret line="131" column="7" lean-forward="true" selection-start-line="131" selection-start-column="7" selection-end-line="131" selection-end-column="7" />
|
65
|
-
<folding />
|
66
|
-
</state>
|
67
|
-
</provider>
|
68
|
-
</entry>
|
69
|
-
</file>
|
70
|
-
<file leaf-file-name="rpc.rb" pinned="false" current-in-tab="false">
|
71
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/rpc.rb">
|
72
|
-
<provider selected="true" editor-type-id="text-editor">
|
73
|
-
<state relative-caret-position="600">
|
74
|
-
<caret line="40" column="109" lean-forward="false" selection-start-line="40" selection-start-column="109" selection-end-line="40" selection-end-column="109" />
|
75
|
-
<folding />
|
76
|
-
</state>
|
77
|
-
</provider>
|
78
|
-
</entry>
|
79
|
-
</file>
|
80
|
-
</leaf>
|
81
|
-
</component>
|
82
|
-
<component name="FileTemplateManagerImpl">
|
83
|
-
<option name="RECENT_TEMPLATES">
|
84
|
-
<list>
|
85
|
-
<option value="Ruby Class Template" />
|
86
|
-
</list>
|
87
|
-
</option>
|
88
|
-
</component>
|
89
|
-
<component name="FindInProjectRecents">
|
90
|
-
<findStrings>
|
91
|
-
<find>0.1.0</find>
|
92
|
-
<find>contract</find>
|
93
|
-
<find>eth</find>
|
94
|
-
<find>rlp</find>
|
95
|
-
<find>decode</find>
|
96
|
-
<find>sub</find>
|
97
|
-
<find>decode_type</find>
|
98
|
-
<find>encode</find>
|
99
|
-
<find>Util</find>
|
100
|
-
<find>child_dao_list</find>
|
101
|
-
<find>debug_by_step</find>
|
102
|
-
<find>hex_arg</find>
|
103
|
-
<find>hex64</find>
|
104
|
-
<find>wei_to_ether</find>
|
105
|
-
<find>from_hex</find>
|
106
|
-
<find>hex</find>
|
107
|
-
<find>build_method_signature</find>
|
108
|
-
<find>remove_0x_head</find>
|
109
|
-
<find>Ethereum</find>
|
110
|
-
<find>Not enough data for head</find>
|
111
|
-
<find>0.2</find>
|
112
|
-
</findStrings>
|
113
|
-
<dirStrings>
|
114
|
-
<dir>$USER_HOME$/sources/dao</dir>
|
115
|
-
<dir>$PROJECT_DIR$</dir>
|
116
|
-
</dirStrings>
|
117
|
-
</component>
|
118
|
-
<component name="GeneratorOptions">
|
119
|
-
<option name="VCS_SHOW_CONFIRMATION" value="true" />
|
120
|
-
<option name="ENVIRONMENT" value="development" />
|
121
|
-
</component>
|
122
|
-
<component name="Git.Settings">
|
123
|
-
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
124
|
-
</component>
|
125
|
-
<component name="IdeDocumentHistory">
|
126
|
-
<option name="CHANGED_PATHS">
|
127
|
-
<list>
|
128
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/eth.rb" />
|
129
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/block.rb" />
|
130
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/transaction.rb" />
|
131
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/log.rb" />
|
132
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/etherscan.rb" />
|
133
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/abi/abi.rb" />
|
134
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/abi/constant.rb" />
|
135
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/abi/type.rb" />
|
136
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/abi/exceptions.rb" />
|
137
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/abi/abi_coder.rb" />
|
138
|
-
<option value="$USER_HOME$/sources/dao/db/seeds.rb" />
|
139
|
-
<option value="$USER_HOME$/sources/dao/lib/ethereum/block_crawler.rb" />
|
140
|
-
<option value="$USER_HOME$/sources/dao/Gemfile" />
|
141
|
-
<option value="$USER_HOME$/sources/dao/config/initializers/backtrace_silencers.rb" />
|
142
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/ethereum.rb" />
|
143
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/abi/utils.rb" />
|
144
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/utility.rb" />
|
145
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171022092409_create_blockchains.rb" />
|
146
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171022095607_create_addresses.rb" />
|
147
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171022100010_create_tx_receipts.rb" />
|
148
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171028095015_create_contract_abis.rb" />
|
149
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171028095014_create_smart_contracts.rb" />
|
150
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171028095359_create_method_signatures.rb" />
|
151
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171105091340_create_interactions.rb" />
|
152
|
-
<option value="$USER_HOME$/sources/dao/app/models/blockchain.rb" />
|
153
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171022093303_create_blocks.rb" />
|
154
|
-
<option value="$USER_HOME$/sources/dao/app/models/block.rb" />
|
155
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171022104327_create_currencies.rb" />
|
156
|
-
<option value="$USER_HOME$/sources/dao/db/migrate/20171022100009_create_txs.rb" />
|
157
|
-
<option value="$USER_HOME$/sources/dao/app/models/tx.rb" />
|
158
|
-
<option value="$USER_HOME$/sources/dao/app/models/address.rb" />
|
159
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/eth_module.rb" />
|
160
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/rpc.rb" />
|
161
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/trace.rb" />
|
162
|
-
<option value="$PROJECT_DIR$/lib/web3/eth.rb" />
|
163
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/trace_module.rb" />
|
164
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/call_trace.rb" />
|
165
|
-
<option value="$PROJECT_DIR$/README.md" />
|
166
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/transaction_receipt.rb" />
|
167
|
-
<option value="$PROJECT_DIR$/Gemfile.lock" />
|
168
|
-
<option value="$PROJECT_DIR$/web3-eth.gemspec" />
|
169
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/version.rb" />
|
170
|
-
<option value="$PROJECT_DIR$/lib/web3/eth/contract.rb" />
|
171
|
-
</list>
|
172
|
-
</option>
|
173
|
-
</component>
|
174
|
-
<component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
|
175
|
-
<component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
|
176
|
-
<component name="JsGulpfileManager">
|
177
|
-
<detection-done>true</detection-done>
|
178
|
-
<sorting>DEFINITION_ORDER</sorting>
|
179
|
-
</component>
|
180
|
-
<component name="ProjectFrameBounds">
|
181
|
-
<option name="x" value="59" />
|
182
|
-
<option name="y" value="23" />
|
183
|
-
<option name="width" value="1280" />
|
184
|
-
<option name="height" value="692" />
|
185
|
-
</component>
|
186
|
-
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
187
|
-
<component name="ProjectView">
|
188
|
-
<navigator currentView="ProjectPane" proportions="" version="1">
|
189
|
-
<flattenPackages />
|
190
|
-
<showMembers />
|
191
|
-
<showModules />
|
192
|
-
<showLibraryContents />
|
193
|
-
<hideEmptyPackages />
|
194
|
-
<abbreviatePackageNames />
|
195
|
-
<autoscrollToSource />
|
196
|
-
<autoscrollFromSource />
|
197
|
-
<sortByType />
|
198
|
-
<manualOrder />
|
199
|
-
<foldersAlwaysOnTop value="true" />
|
200
|
-
</navigator>
|
201
|
-
<panes>
|
202
|
-
<pane id="Scope">
|
203
|
-
<subPane subId="Project Files">
|
204
|
-
<expand>
|
205
|
-
<path>
|
206
|
-
<item name="Root" type="cbb8eebc:String" user="Root" />
|
207
|
-
<item name="web3-eth" type="cbb8eebc:String" user="web3-eth" />
|
208
|
-
</path>
|
209
|
-
</expand>
|
210
|
-
<select />
|
211
|
-
</subPane>
|
212
|
-
</pane>
|
213
|
-
<pane id="ProjectPane">
|
214
|
-
<subPane>
|
215
|
-
<expand>
|
216
|
-
<path>
|
217
|
-
<item name="web3-eth" type="b2602c69:ProjectViewProjectNode" />
|
218
|
-
<item name="web3-eth" type="462c0819:PsiDirectoryNode" />
|
219
|
-
</path>
|
220
|
-
<path>
|
221
|
-
<item name="web3-eth" type="b2602c69:ProjectViewProjectNode" />
|
222
|
-
<item name="web3-eth" type="462c0819:PsiDirectoryNode" />
|
223
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
224
|
-
</path>
|
225
|
-
<path>
|
226
|
-
<item name="web3-eth" type="b2602c69:ProjectViewProjectNode" />
|
227
|
-
<item name="web3-eth" type="462c0819:PsiDirectoryNode" />
|
228
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
229
|
-
<item name="web3" type="462c0819:PsiDirectoryNode" />
|
230
|
-
</path>
|
231
|
-
<path>
|
232
|
-
<item name="web3-eth" type="b2602c69:ProjectViewProjectNode" />
|
233
|
-
<item name="web3-eth" type="462c0819:PsiDirectoryNode" />
|
234
|
-
<item name="lib" type="462c0819:PsiDirectoryNode" />
|
235
|
-
<item name="web3" type="462c0819:PsiDirectoryNode" />
|
236
|
-
<item name="eth" type="462c0819:PsiDirectoryNode" />
|
237
|
-
</path>
|
238
|
-
</expand>
|
239
|
-
<select />
|
240
|
-
</subPane>
|
241
|
-
</pane>
|
242
|
-
<pane id="Scratches" />
|
243
|
-
</panes>
|
244
|
-
</component>
|
245
|
-
<component name="PropertiesComponent">
|
246
|
-
<property name="WebServerToolWindowFactoryState" value="true" />
|
247
|
-
<property name="settings.editor.selected.configurable" value="configurable.group.appearance" />
|
248
|
-
<property name="project.settings.patched" value="true" />
|
249
|
-
<property name="RailsGeneratorsPopup.hiddenIncluded" value="false" />
|
250
|
-
</component>
|
251
|
-
<component name="RecentsManager">
|
252
|
-
<key name="CopyFile.RECENT_KEYS">
|
253
|
-
<recent name="$PROJECT_DIR$/lib/web3/eth" />
|
254
|
-
<recent name="$PROJECT_DIR$/lib/web3/eth/abi" />
|
255
|
-
</key>
|
256
|
-
</component>
|
257
|
-
<component name="RunDashboard">
|
258
|
-
<option name="ruleStates">
|
259
|
-
<list>
|
260
|
-
<RuleState>
|
261
|
-
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
262
|
-
</RuleState>
|
263
|
-
<RuleState>
|
264
|
-
<option name="name" value="StatusDashboardGroupingRule" />
|
265
|
-
</RuleState>
|
266
|
-
</list>
|
267
|
-
</option>
|
268
|
-
</component>
|
269
|
-
<component name="RunManager" selected="IRB console.Rails console: dao">
|
270
|
-
<configuration name="Rails console: dao" type="IrbRunConfigurationType" factoryName="IRB console" temporary="true">
|
271
|
-
<module name="dao" />
|
272
|
-
<IRB_RUN_CONFIG NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
273
|
-
<IRB_RUN_CONFIG NAME="WORK DIR" VALUE="$MODULE_DIR$" />
|
274
|
-
<IRB_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
|
275
|
-
<IRB_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
|
276
|
-
<IRB_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
|
277
|
-
<envs />
|
278
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
279
|
-
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
280
|
-
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
281
|
-
<COVERAGE_PATTERN ENABLED="true">
|
282
|
-
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
283
|
-
</COVERAGE_PATTERN>
|
284
|
-
</EXTENSION>
|
285
|
-
<IRB_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$MODULE_DIR$/bin/rails" />
|
286
|
-
<IRB_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="console" />
|
287
|
-
<IRB_RUN_CONFIG NAME="IS_RAILS_CONSOLE" VALUE="true" />
|
288
|
-
</configuration>
|
289
|
-
<configuration default="true" type="RailsRunConfigurationType" factoryName="Rails">
|
290
|
-
<predefined_log_file id="RUBY_RAILS_SERVER" enabled="true" />
|
291
|
-
<module name="web3-eth" />
|
292
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="RUBY_ARGS" VALUE="-e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)" />
|
293
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="WORK DIR" VALUE="" />
|
294
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="SHOULD_USE_SDK" VALUE="false" />
|
295
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="ALTERN_SDK_NAME" VALUE="" />
|
296
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="myPassParentEnvs" VALUE="true" />
|
297
|
-
<envs />
|
298
|
-
<EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="false" />
|
299
|
-
<EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
|
300
|
-
<EXTENSION ID="RubyCoverageRunConfigurationExtension" enabled="false" sample_coverage="true" track_test_folders="true" runner="rcov">
|
301
|
-
<COVERAGE_PATTERN ENABLED="true">
|
302
|
-
<PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
|
303
|
-
</COVERAGE_PATTERN>
|
304
|
-
</EXTENSION>
|
305
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="SCRIPT_ARGS" VALUE="" />
|
306
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="PORT" VALUE="3000" />
|
307
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="IP" VALUE="0.0.0.0" />
|
308
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="DUMMY_APP" VALUE="$USER_HOME$/sources/dao" />
|
309
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="RAILS_SERVER_TYPE" VALUE="default" />
|
310
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="ENVIRONMENT_TYPE" VALUE="development" />
|
311
|
-
<RAILS_SERVER_CONFIG_SETTINGS_ID NAME="LAUNCH_JS" VALUE="false" />
|
312
|
-
</configuration>
|
313
|
-
<recent_temporary>
|
314
|
-
<list size="1">
|
315
|
-
<item index="0" class="java.lang.String" itemvalue="IRB console.Rails console: dao" />
|
316
|
-
</list>
|
317
|
-
</recent_temporary>
|
318
|
-
</component>
|
319
|
-
<component name="ShelveChangesManager" show_recycled="false">
|
320
|
-
<option name="remove_strategy" value="false" />
|
321
|
-
</component>
|
322
|
-
<component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" />
|
323
|
-
<component name="SvnConfiguration">
|
324
|
-
<configuration />
|
325
|
-
</component>
|
326
|
-
<component name="TaskManager">
|
327
|
-
<task active="true" id="Default" summary="Default task">
|
328
|
-
<changelist id="77985b6c-f92a-4530-bf9e-bd636f59215e" name="Default" comment="" />
|
329
|
-
<created>1508232317976</created>
|
330
|
-
<option name="number" value="Default" />
|
331
|
-
<option name="presentableId" value="Default" />
|
332
|
-
<updated>1508232317976</updated>
|
333
|
-
<workItem from="1508232320433" duration="603000" />
|
334
|
-
<workItem from="1508232952975" duration="12787000" />
|
335
|
-
<workItem from="1508277247750" duration="79000" />
|
336
|
-
<workItem from="1508514322705" duration="1282000" />
|
337
|
-
<workItem from="1508671876399" duration="4325000" />
|
338
|
-
<workItem from="1508753864450" duration="52000" />
|
339
|
-
<workItem from="1508794605346" duration="689000" />
|
340
|
-
<workItem from="1509046771799" duration="2102000" />
|
341
|
-
<workItem from="1509167949308" duration="17640000" />
|
342
|
-
<workItem from="1509426324939" duration="2214000" />
|
343
|
-
<workItem from="1509508298413" duration="53000" />
|
344
|
-
<workItem from="1509508387291" duration="112000" />
|
345
|
-
<workItem from="1509508510347" duration="339000" />
|
346
|
-
<workItem from="1509508897346" duration="4787000" />
|
347
|
-
<workItem from="1509568268526" duration="2065000" />
|
348
|
-
<workItem from="1509783116233" duration="3026000" />
|
349
|
-
<workItem from="1509788142675" duration="23107000" />
|
350
|
-
<workItem from="1509903488451" duration="6397000" />
|
351
|
-
<workItem from="1512386098958" duration="1658000" />
|
352
|
-
<workItem from="1512463103274" duration="8056000" />
|
353
|
-
<workItem from="1512726693104" duration="2898000" />
|
354
|
-
<workItem from="1513673818159" duration="835000" />
|
355
|
-
<workItem from="1515088893053" duration="3007000" />
|
356
|
-
</task>
|
357
|
-
<task id="LOCAL-00001" summary="initial project">
|
358
|
-
<created>1508232659898</created>
|
359
|
-
<option name="number" value="00001" />
|
360
|
-
<option name="presentableId" value="LOCAL-00001" />
|
361
|
-
<option name="project" value="LOCAL" />
|
362
|
-
<updated>1508232659898</updated>
|
363
|
-
</task>
|
364
|
-
<task id="LOCAL-00002" summary="initial project">
|
365
|
-
<created>1508232927338</created>
|
366
|
-
<option name="number" value="00002" />
|
367
|
-
<option name="presentableId" value="LOCAL-00002" />
|
368
|
-
<option name="project" value="LOCAL" />
|
369
|
-
<updated>1508232927338</updated>
|
370
|
-
</task>
|
371
|
-
<task id="LOCAL-00003" summary="eth implementation">
|
372
|
-
<created>1508234596990</created>
|
373
|
-
<option name="number" value="00003" />
|
374
|
-
<option name="presentableId" value="LOCAL-00003" />
|
375
|
-
<option name="project" value="LOCAL" />
|
376
|
-
<updated>1508234596990</updated>
|
377
|
-
</task>
|
378
|
-
<task id="LOCAL-00004" summary="eth implementation">
|
379
|
-
<created>1508235155205</created>
|
380
|
-
<option name="number" value="00004" />
|
381
|
-
<option name="presentableId" value="LOCAL-00004" />
|
382
|
-
<option name="project" value="LOCAL" />
|
383
|
-
<updated>1508235155205</updated>
|
384
|
-
</task>
|
385
|
-
<task id="LOCAL-00005" summary="made transaction receipts">
|
386
|
-
<created>1508253580711</created>
|
387
|
-
<option name="number" value="00005" />
|
388
|
-
<option name="presentableId" value="LOCAL-00005" />
|
389
|
-
<option name="project" value="LOCAL" />
|
390
|
-
<updated>1508253580711</updated>
|
391
|
-
</task>
|
392
|
-
<task id="LOCAL-00006" summary="made transaction receipts">
|
393
|
-
<created>1508274087060</created>
|
394
|
-
<option name="number" value="00006" />
|
395
|
-
<option name="presentableId" value="LOCAL-00006" />
|
396
|
-
<option name="project" value="LOCAL" />
|
397
|
-
<updated>1508274087060</updated>
|
398
|
-
</task>
|
399
|
-
<task id="LOCAL-00007" summary="fix doc">
|
400
|
-
<created>1508277317660</created>
|
401
|
-
<option name="number" value="00007" />
|
402
|
-
<option name="presentableId" value="LOCAL-00007" />
|
403
|
-
<option name="project" value="LOCAL" />
|
404
|
-
<updated>1508277317660</updated>
|
405
|
-
</task>
|
406
|
-
<task id="LOCAL-00008" summary="addition of log model">
|
407
|
-
<created>1508716089627</created>
|
408
|
-
<option name="number" value="00008" />
|
409
|
-
<option name="presentableId" value="LOCAL-00008" />
|
410
|
-
<option name="project" value="LOCAL" />
|
411
|
-
<updated>1508716089627</updated>
|
412
|
-
</task>
|
413
|
-
<task id="LOCAL-00009" summary="Etherscan added, transaction log parsing">
|
414
|
-
<created>1509268404164</created>
|
415
|
-
<option name="number" value="00009" />
|
416
|
-
<option name="presentableId" value="LOCAL-00009" />
|
417
|
-
<option name="project" value="LOCAL" />
|
418
|
-
<updated>1509268404164</updated>
|
419
|
-
</task>
|
420
|
-
<task id="LOCAL-00010" summary="Calling transaction constant methods">
|
421
|
-
<created>1509796977124</created>
|
422
|
-
<option name="number" value="00010" />
|
423
|
-
<option name="presentableId" value="LOCAL-00010" />
|
424
|
-
<option name="project" value="LOCAL" />
|
425
|
-
<updated>1509796977124</updated>
|
426
|
-
</task>
|
427
|
-
<task id="LOCAL-00011" summary="parsing transaction logs">
|
428
|
-
<created>1509804887273</created>
|
429
|
-
<option name="number" value="00011" />
|
430
|
-
<option name="presentableId" value="LOCAL-00011" />
|
431
|
-
<option name="project" value="LOCAL" />
|
432
|
-
<updated>1509804887273</updated>
|
433
|
-
</task>
|
434
|
-
<task id="LOCAL-00012" summary="parse_call_args">
|
435
|
-
<created>1509806040524</created>
|
436
|
-
<option name="number" value="00012" />
|
437
|
-
<option name="presentableId" value="LOCAL-00012" />
|
438
|
-
<option name="project" value="LOCAL" />
|
439
|
-
<updated>1509806040524</updated>
|
440
|
-
</task>
|
441
|
-
<task id="LOCAL-00013" summary="Parsing smart contract constructor arguments">
|
442
|
-
<created>1509809560899</created>
|
443
|
-
<option name="number" value="00013" />
|
444
|
-
<option name="presentableId" value="LOCAL-00013" />
|
445
|
-
<option name="project" value="LOCAL" />
|
446
|
-
<updated>1509809560899</updated>
|
447
|
-
</task>
|
448
|
-
<task id="LOCAL-00014" summary="Internal transacton queryt using parity extended JSON RPC API">
|
449
|
-
<created>1509909169087</created>
|
450
|
-
<option name="number" value="00014" />
|
451
|
-
<option name="presentableId" value="LOCAL-00014" />
|
452
|
-
<option name="project" value="LOCAL" />
|
453
|
-
<updated>1509909169087</updated>
|
454
|
-
</task>
|
455
|
-
<task id="LOCAL-00015" summary="added dependency from digest sha3">
|
456
|
-
<created>1512463514773</created>
|
457
|
-
<option name="number" value="00015" />
|
458
|
-
<option name="presentableId" value="LOCAL-00015" />
|
459
|
-
<option name="project" value="LOCAL" />
|
460
|
-
<updated>1512463514773</updated>
|
461
|
-
</task>
|
462
|
-
<task id="LOCAL-00016" summary="fixed contract init">
|
463
|
-
<created>1512465320048</created>
|
464
|
-
<option name="number" value="00016" />
|
465
|
-
<option name="presentableId" value="LOCAL-00016" />
|
466
|
-
<option name="project" value="LOCAL" />
|
467
|
-
<updated>1512465320048</updated>
|
468
|
-
</task>
|
469
|
-
<task id="LOCAL-00017" summary="nil if string_data.empty?">
|
470
|
-
<created>1512467138727</created>
|
471
|
-
<option name="number" value="00017" />
|
472
|
-
<option name="presentableId" value="LOCAL-00017" />
|
473
|
-
<option name="project" value="LOCAL" />
|
474
|
-
<updated>1512467138727</updated>
|
475
|
-
</task>
|
476
|
-
<task id="LOCAL-00018" summary="fix for event reading">
|
477
|
-
<created>1512503201323</created>
|
478
|
-
<option name="number" value="00018" />
|
479
|
-
<option name="presentableId" value="LOCAL-00018" />
|
480
|
-
<option name="project" value="LOCAL" />
|
481
|
-
<updated>1512503201323</updated>
|
482
|
-
</task>
|
483
|
-
<task id="LOCAL-00019" summary="fix for NoMethodError: undefined method `compact' for Hash https://github.com/izetex/web3-eth/issues/1">
|
484
|
-
<created>1515092300183</created>
|
485
|
-
<option name="number" value="00019" />
|
486
|
-
<option name="presentableId" value="LOCAL-00019" />
|
487
|
-
<option name="project" value="LOCAL" />
|
488
|
-
<updated>1515092300183</updated>
|
489
|
-
</task>
|
490
|
-
<option name="localTasksCounter" value="20" />
|
491
|
-
<servers />
|
492
|
-
</component>
|
493
|
-
<component name="TimeTrackingManager">
|
494
|
-
<option name="totallyTimeSpent" value="98113000" />
|
495
|
-
</component>
|
496
|
-
<component name="ToolWindowManager">
|
497
|
-
<frame x="59" y="23" width="1280" height="692" extended-state="0" />
|
498
|
-
<layout>
|
499
|
-
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
|
500
|
-
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32888147" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
501
|
-
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
|
502
|
-
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.31011608" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
|
503
|
-
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3115578" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
504
|
-
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.36560935" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
|
505
|
-
<window_info id="Remote Host" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
506
|
-
<window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25282714" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
507
|
-
<window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
508
|
-
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.37688443" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
509
|
-
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
510
|
-
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.49415693" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
|
511
|
-
<window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
|
512
|
-
<window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
|
513
|
-
<window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
514
|
-
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
|
515
|
-
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
|
516
|
-
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
|
517
|
-
<window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
|
518
|
-
</layout>
|
519
|
-
</component>
|
520
|
-
<component name="TypeScriptGeneratedFilesManager">
|
521
|
-
<option name="version" value="1" />
|
522
|
-
</component>
|
523
|
-
<component name="Vcs.Log.History.Properties">
|
524
|
-
<option name="COLUMN_ORDER">
|
525
|
-
<list>
|
526
|
-
<option value="0" />
|
527
|
-
<option value="2" />
|
528
|
-
<option value="3" />
|
529
|
-
<option value="1" />
|
530
|
-
</list>
|
531
|
-
</option>
|
532
|
-
</component>
|
533
|
-
<component name="VcsContentAnnotationSettings">
|
534
|
-
<option name="myLimit" value="2678400000" />
|
535
|
-
</component>
|
536
|
-
<component name="VcsManagerConfiguration">
|
537
|
-
<MESSAGE value="initial project" />
|
538
|
-
<MESSAGE value="eth implementation" />
|
539
|
-
<MESSAGE value="made transaction receipts" />
|
540
|
-
<MESSAGE value="fix doc" />
|
541
|
-
<MESSAGE value="addition of log model" />
|
542
|
-
<MESSAGE value="Etherscan added, transaction log parsing" />
|
543
|
-
<MESSAGE value="Calling transaction constant methods" />
|
544
|
-
<MESSAGE value="parsing transaction logs" />
|
545
|
-
<MESSAGE value="parse_call_args" />
|
546
|
-
<MESSAGE value="Parsing smart contract constructor arguments" />
|
547
|
-
<MESSAGE value="Internal transacton queryt using parity extended JSON RPC API" />
|
548
|
-
<MESSAGE value="added dependency from digest sha3" />
|
549
|
-
<MESSAGE value="fixed contract init" />
|
550
|
-
<MESSAGE value="nil if string_data.empty?" />
|
551
|
-
<MESSAGE value="fix for event reading" />
|
552
|
-
<MESSAGE value="fix for NoMethodError: undefined method `compact' for Hash https://github.com/izetex/web3-eth/issues/1" />
|
553
|
-
<option name="LAST_COMMIT_MESSAGE" value="fix for NoMethodError: undefined method `compact' for Hash https://github.com/izetex/web3-eth/issues/1" />
|
554
|
-
</component>
|
555
|
-
<component name="XDebuggerManager">
|
556
|
-
<breakpoint-manager>
|
557
|
-
<breakpoints>
|
558
|
-
<line-breakpoint enabled="true" type="ruby-line">
|
559
|
-
<url>file://$PROJECT_DIR$/lib/web3/eth/abi/abi_coder.rb</url>
|
560
|
-
<line>198</line>
|
561
|
-
<option name="timeStamp" value="10" />
|
562
|
-
</line-breakpoint>
|
563
|
-
</breakpoints>
|
564
|
-
<option name="time" value="12" />
|
565
|
-
</breakpoint-manager>
|
566
|
-
<watches-manager />
|
567
|
-
</component>
|
568
|
-
<component name="editorHistoryManager">
|
569
|
-
<entry file="file://$USER_HOME$/sources/dao/lib/ethereum/address_helper.rb" />
|
570
|
-
<entry file="file://$USER_HOME$/sources/dao/lib/ethereum/block_crawler.rb" />
|
571
|
-
<entry file="file://$USER_HOME$/sources/dao/lib/ethereum/smart_contract_factory.rb" />
|
572
|
-
<entry file="file://$USER_HOME$/sources/dao/lib/ethereum/log_processor.rb" />
|
573
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/log.rb">
|
574
|
-
<provider selected="true" editor-type-id="text-editor">
|
575
|
-
<state relative-caret-position="75">
|
576
|
-
<caret line="5" column="20" lean-forward="false" selection-start-line="5" selection-start-column="20" selection-end-line="5" selection-end-column="20" />
|
577
|
-
</state>
|
578
|
-
</provider>
|
579
|
-
</entry>
|
580
|
-
<entry file="file://$USER_HOME$/sources/dao/db/seeds.rb" />
|
581
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171105083526_rename_blockchain_transaction_to_tx.rb" />
|
582
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171022104258_create_issuers.rb" />
|
583
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171105084903_create_tx_data.rb" />
|
584
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/tx_datum.rb" />
|
585
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/tx_receipt.rb" />
|
586
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171022100010_create_tx_receipts.rb" />
|
587
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/contract_abi.rb" />
|
588
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171028095015_create_contract_abis.rb" />
|
589
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/relation.rb" />
|
590
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/interaction.rb" />
|
591
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171022093303_create_blocks.rb" />
|
592
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171022092409_create_blockchains.rb" />
|
593
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/blockchain.rb" />
|
594
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171022095607_create_addresses.rb" />
|
595
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171028095359_create_method_signatures.rb" />
|
596
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171028104857_create_smart_contract_methods.rb" />
|
597
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/crowdsale.rb" />
|
598
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171028095014_create_smart_contracts.rb" />
|
599
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171022104327_create_currencies.rb" />
|
600
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171105091340_create_interactions.rb" />
|
601
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/currency.rb" />
|
602
|
-
<entry file="file://$USER_HOME$/sources/dao/db/migrate/20171022100009_create_txs.rb" />
|
603
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/tx.rb" />
|
604
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/address.rb" />
|
605
|
-
<entry file="file://$USER_HOME$/sources/dao/app/models/block.rb" />
|
606
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/trace_module.rb">
|
607
|
-
<provider selected="true" editor-type-id="text-editor">
|
608
|
-
<state relative-caret-position="150">
|
609
|
-
<caret line="12" column="0" lean-forward="true" selection-start-line="12" selection-start-column="0" selection-end-line="12" selection-end-column="0" />
|
610
|
-
</state>
|
611
|
-
</provider>
|
612
|
-
</entry>
|
613
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/abi/utils.rb">
|
614
|
-
<provider selected="true" editor-type-id="text-editor">
|
615
|
-
<state relative-caret-position="45">
|
616
|
-
<caret line="3" column="0" lean-forward="false" selection-start-line="3" selection-start-column="0" selection-end-line="3" selection-end-column="21" />
|
617
|
-
</state>
|
618
|
-
</provider>
|
619
|
-
</entry>
|
620
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/abi/abi_coder.rb">
|
621
|
-
<provider selected="true" editor-type-id="text-editor">
|
622
|
-
<state relative-caret-position="644">
|
623
|
-
<caret line="232" column="52" lean-forward="false" selection-start-line="232" selection-start-column="28" selection-end-line="232" selection-end-column="52" />
|
624
|
-
<folding />
|
625
|
-
</state>
|
626
|
-
</provider>
|
627
|
-
</entry>
|
628
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/block.rb">
|
629
|
-
<provider selected="true" editor-type-id="text-editor">
|
630
|
-
<state relative-caret-position="375">
|
631
|
-
<caret line="25" column="22" lean-forward="false" selection-start-line="25" selection-start-column="10" selection-end-line="25" selection-end-column="22" />
|
632
|
-
</state>
|
633
|
-
</provider>
|
634
|
-
</entry>
|
635
|
-
<entry file="file://$PROJECT_DIR$/README.md">
|
636
|
-
<provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
|
637
|
-
<state split_layout="SPLIT">
|
638
|
-
<first_editor relative-caret-position="120">
|
639
|
-
<caret line="44" column="0" lean-forward="false" selection-start-line="44" selection-start-column="0" selection-end-line="44" selection-end-column="0" />
|
640
|
-
</first_editor>
|
641
|
-
<second_editor />
|
642
|
-
</state>
|
643
|
-
</provider>
|
644
|
-
</entry>
|
645
|
-
<entry file="file://$USER_HOME$/.rvm/rubies/ruby-2.3.3/lib/ruby/site_ruby/2.3.0/rubygems/resolver/git_specification.rb">
|
646
|
-
<provider selected="true" editor-type-id="text-editor">
|
647
|
-
<state relative-caret-position="133">
|
648
|
-
<caret line="15" column="6" lean-forward="false" selection-start-line="15" selection-start-column="6" selection-end-line="15" selection-end-column="6" />
|
649
|
-
</state>
|
650
|
-
</provider>
|
651
|
-
</entry>
|
652
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/call_trace.rb">
|
653
|
-
<provider selected="true" editor-type-id="text-editor">
|
654
|
-
<state relative-caret-position="285">
|
655
|
-
<caret line="19" column="19" lean-forward="false" selection-start-line="19" selection-start-column="10" selection-end-line="19" selection-end-column="19" />
|
656
|
-
</state>
|
657
|
-
</provider>
|
658
|
-
</entry>
|
659
|
-
<entry file="file://$PROJECT_DIR$/LICENSE.txt">
|
660
|
-
<provider selected="true" editor-type-id="text-editor">
|
661
|
-
<state relative-caret-position="315">
|
662
|
-
<caret line="21" column="0" lean-forward="false" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="0" />
|
663
|
-
<folding />
|
664
|
-
</state>
|
665
|
-
</provider>
|
666
|
-
</entry>
|
667
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/utility.rb">
|
668
|
-
<provider selected="true" editor-type-id="text-editor">
|
669
|
-
<state relative-caret-position="135">
|
670
|
-
<caret line="9" column="22" lean-forward="false" selection-start-line="9" selection-start-column="10" selection-end-line="9" selection-end-column="22" />
|
671
|
-
<folding />
|
672
|
-
</state>
|
673
|
-
</provider>
|
674
|
-
</entry>
|
675
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/etherscan.rb">
|
676
|
-
<provider selected="true" editor-type-id="text-editor">
|
677
|
-
<state relative-caret-position="0">
|
678
|
-
<caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
|
679
|
-
<folding />
|
680
|
-
</state>
|
681
|
-
</provider>
|
682
|
-
</entry>
|
683
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth.rb">
|
684
|
-
<provider selected="true" editor-type-id="text-editor">
|
685
|
-
<state relative-caret-position="90">
|
686
|
-
<caret line="6" column="23" lean-forward="false" selection-start-line="6" selection-start-column="23" selection-end-line="6" selection-end-column="23" />
|
687
|
-
<folding />
|
688
|
-
</state>
|
689
|
-
</provider>
|
690
|
-
</entry>
|
691
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/transaction_receipt.rb">
|
692
|
-
<provider selected="true" editor-type-id="text-editor">
|
693
|
-
<state relative-caret-position="360">
|
694
|
-
<caret line="24" column="0" lean-forward="false" selection-start-line="24" selection-start-column="0" selection-end-line="24" selection-end-column="0" />
|
695
|
-
<folding />
|
696
|
-
</state>
|
697
|
-
</provider>
|
698
|
-
</entry>
|
699
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/eth_module.rb">
|
700
|
-
<provider selected="true" editor-type-id="text-editor">
|
701
|
-
<state relative-caret-position="345">
|
702
|
-
<caret line="23" column="21" lean-forward="false" selection-start-line="23" selection-start-column="10" selection-end-line="23" selection-end-column="21" />
|
703
|
-
<folding />
|
704
|
-
</state>
|
705
|
-
</provider>
|
706
|
-
</entry>
|
707
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/transaction.rb">
|
708
|
-
<provider selected="true" editor-type-id="text-editor">
|
709
|
-
<state relative-caret-position="255">
|
710
|
-
<caret line="38" column="15" lean-forward="false" selection-start-line="38" selection-start-column="15" selection-end-line="38" selection-end-column="15" />
|
711
|
-
<folding />
|
712
|
-
</state>
|
713
|
-
</provider>
|
714
|
-
</entry>
|
715
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/rpc.rb">
|
716
|
-
<provider selected="true" editor-type-id="text-editor">
|
717
|
-
<state relative-caret-position="600">
|
718
|
-
<caret line="40" column="109" lean-forward="false" selection-start-line="40" selection-start-column="109" selection-end-line="40" selection-end-column="109" />
|
719
|
-
<folding />
|
720
|
-
</state>
|
721
|
-
</provider>
|
722
|
-
</entry>
|
723
|
-
<entry file="file://$PROJECT_DIR$/Gemfile">
|
724
|
-
<provider selected="true" editor-type-id="text-editor">
|
725
|
-
<state relative-caret-position="30">
|
726
|
-
<caret line="2" column="25" lean-forward="false" selection-start-line="2" selection-start-column="25" selection-end-line="2" selection-end-column="25" />
|
727
|
-
<folding />
|
728
|
-
</state>
|
729
|
-
</provider>
|
730
|
-
</entry>
|
731
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/version.rb">
|
732
|
-
<provider selected="true" editor-type-id="text-editor">
|
733
|
-
<state relative-caret-position="30">
|
734
|
-
<caret line="2" column="20" lean-forward="false" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
|
735
|
-
<folding />
|
736
|
-
</state>
|
737
|
-
</provider>
|
738
|
-
</entry>
|
739
|
-
<entry file="file://$PROJECT_DIR$/lib/web3/eth/contract.rb">
|
740
|
-
<provider selected="true" editor-type-id="text-editor">
|
741
|
-
<state relative-caret-position="279">
|
742
|
-
<caret line="131" column="7" lean-forward="true" selection-start-line="131" selection-start-column="7" selection-end-line="131" selection-end-column="7" />
|
743
|
-
<folding />
|
744
|
-
</state>
|
745
|
-
</provider>
|
746
|
-
</entry>
|
747
|
-
<entry file="file://$PROJECT_DIR$/web3-eth.gemspec">
|
748
|
-
<provider selected="true" editor-type-id="text-editor">
|
749
|
-
<state relative-caret-position="330">
|
750
|
-
<caret line="22" column="74" lean-forward="false" selection-start-line="22" selection-start-column="74" selection-end-line="22" selection-end-column="74" />
|
751
|
-
<folding />
|
752
|
-
</state>
|
753
|
-
</provider>
|
754
|
-
</entry>
|
755
|
-
<entry file="file://$PROJECT_DIR$/Gemfile.lock">
|
756
|
-
<provider selected="true" editor-type-id="text-editor">
|
757
|
-
<state relative-caret-position="45">
|
758
|
-
<caret line="3" column="19" lean-forward="false" selection-start-line="3" selection-start-column="19" selection-end-line="3" selection-end-column="19" />
|
759
|
-
<folding />
|
760
|
-
</state>
|
761
|
-
</provider>
|
762
|
-
</entry>
|
763
|
-
</component>
|
764
|
-
</project>
|