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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9457f0f37c7e766684fddc7e812780c18a50bfb0
4
- data.tar.gz: 540378a3280a8ab186f3edf15836d0f2557f667d
3
+ metadata.gz: d83e37d8883b9c3f2f24ae5d618aac0ca4b55f5a
4
+ data.tar.gz: c8f12035144eed30d9ae325899eb32e3e1f5b83e
5
5
  SHA512:
6
- metadata.gz: 767efe7b83351d8d4151a2bb704c088f979ff4fbd54bbab549bd64c50bc82d26fe3ffae170a2e2e09cc0d86b79b8e3a8d1a088c74b22574175f5c5ba4d2d3bb7
7
- data.tar.gz: cdd047324382f45b15b61376083cd1e1798721df3147f18b3a5c43dec934be2d3a8a6434e9c9edcb9ddd8dc46abcc12bf4b220d6dfcee6df4e8b31387826c0e7
6
+ metadata.gz: 0e0f2978e11073a94723cd6f3d7419c971b467137f82f8819af1afd9c2f92307c662d617be356d916ed6ce5ce5979dd4778de94b62f9920020e0f5b160693b50
7
+ data.tar.gz: 9e62e9f999b7bb8c71dcb5da4a26e1c202df1f006655260a0a617692e92598b56efb1d93f6ebdd714fb33c3088bee36b3eeb83477e1035463ab24404bd04131b
data/.gitignore CHANGED
@@ -7,4 +7,4 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
- /.idea
10
+ /.idea/
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
- size = Utils.big_endian_to_int data[0,32]
287
- data[32..-1][0,size]
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
@@ -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
@@ -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
- [function.input_types, transaction.method_arguments].transpose.collect{|arg|
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
- # suffix # 0xa1 0x65 'b' 'z' 'z' 'r' '0' 0x58 0x20 <32 bytes swarm hash> 0x00 0x29
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
@@ -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
- def method_arguments
30
- if input && input.length>10
31
- (0...(input.length-10)/ 64).to_a.collect{|index|
32
- input[index*64+10..index*64+73]
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 gas_eth
48
- wei_to_ether from_hex gas
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 gas_used_eth
31
- wei_to_ether from_hex gasUsed
30
+ def gas_used
31
+ from_hex gasUsed
32
32
  end
33
33
 
34
34
 
35
- def cumulative_gas_used_eth
36
- wei_to_ether from_hex cumulativeGasUsed
35
+ def cumulative_gas_used
36
+ from_hex cumulativeGasUsed
37
37
  end
38
38
 
39
39
  end
@@ -1,5 +1,5 @@
1
1
  module Web3
2
2
  module Eth
3
- VERSION = "0.2.1"
3
+ VERSION = "0.2.2"
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.1
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-04 00:00:00.000000000 Z
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 &#10;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 &#10;https://github.com/izetex/web3-eth/issues/1" />
553
- <option name="LAST_COMMIT_MESSAGE" value="fix for NoMethodError: undefined method `compact' for Hash &#10;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>