sbuilder-ethereum 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +7 -0
  2. data/VERSION +1 -0
  3. data/lib/mixer/decl_ref.rb +19 -0
  4. data/lib/mixer/domain_ref.rb +18 -0
  5. data/lib/mixer/scope.rb +92 -0
  6. data/lib/mixer/scoped.rb +17 -0
  7. data/lib/mixer/symbol_ref.rb +16 -0
  8. data/lib/mixer/type_symbol.rb +75 -0
  9. data/lib/plugin/plugin.rb +332 -0
  10. data/lib/resources/correctness/accouns_type.tla +1 -0
  11. data/lib/resources/correctness/accounts_unique.tla +2 -0
  12. data/lib/resources/correctness/accounts_valid.tla +2 -0
  13. data/lib/resources/correctness/storage_root_unique.tla +2 -0
  14. data/lib/resources/correctness/total_value.tla +1 -0
  15. data/lib/resources/eth/accounts_state.tla +2 -0
  16. data/lib/resources/eth/accounts_temp.tla +2 -0
  17. data/lib/resources/eth/address_free.tla +2 -0
  18. data/lib/resources/eth/mined_state.tla +1 -0
  19. data/lib/resources/eth/storageRoot.tla +1 -0
  20. data/lib/resources/eth/storageRoot_temp.tla +1 -0
  21. data/lib/resources/mine/mine_entry.tla +4 -0
  22. data/lib/resources/mine/mine_service.tla +22 -0
  23. data/lib/resources/operators/elementExists.tla +4 -0
  24. data/lib/resources/operators/gasPrice.tla +2 -0
  25. data/lib/resources/operators/gasValue.tla +2 -0
  26. data/lib/resources/operators/getElement.tla +5 -0
  27. data/lib/resources/operators/intrinsicGas.tla +4 -0
  28. data/lib/resources/operators/transactionGas.tla +4 -0
  29. data/lib/resources/operators/upFrontCost.tla +6 -0
  30. data/lib/resources/personal_newAccount/personal_newAccount_done.tla +14 -0
  31. data/lib/resources/personal_newAccount/personal_newAccount_entry.tla +10 -0
  32. data/lib/resources/personal_newAccount/personal_newAccount_service.tla +29 -0
  33. data/lib/resources/removed/sendTransaction_entry.tla +5 -0
  34. data/lib/resources/removed/sendTransaction_service.tla +36 -0
  35. data/lib/resources/removed/tst.tla +1 -0
  36. data/lib/resources/transaction/ethereum_service_done.tla +24 -0
  37. data/lib/resources/transaction/ethereum_service_pop.tla +24 -0
  38. data/lib/resources/transaction/ethereum_service_push.tla +14 -0
  39. data/lib/resources/transaction/ethereum_service_start.tla +13 -0
  40. data/lib/resources/transaction/status_fail.tla +1 -0
  41. data/lib/resources/transaction/status_ok.tla +1 -0
  42. data/lib/sbuilder-ethereum.rb +52 -0
  43. data/lib/sbuilder/compile.rb +163 -0
  44. data/lib/sbuilder/constants.rb +93 -0
  45. data/lib/sbuilder/exception.rb +22 -0
  46. data/lib/sbuilder/generate/sexp_processor_tla.rb +2674 -0
  47. data/lib/sbuilder/generate/tla_element_generator.rb +1206 -0
  48. data/lib/sbuilder/generate/tla_element_text.rb +703 -0
  49. data/lib/sbuilder/load.rb +119 -0
  50. data/lib/sbuilder/mustache/renderer.rb +152 -0
  51. data/lib/sbuilder/render.rb +141 -0
  52. data/lib/sbuilder/s.rb +21 -0
  53. data/lib/sbuilder/sexp_ast.rb +1378 -0
  54. data/lib/sbuilder/sexp_processor_api.rb +184 -0
  55. data/lib/sbuilder/sexp_processor_canonize.rb +326 -0
  56. data/lib/sbuilder/sexp_processor_dataflow.rb +461 -0
  57. data/lib/sbuilder/sexp_processor_ethereum.rb +127 -0
  58. data/lib/sbuilder/sexp_processor_need_to_canonize.rb +572 -0
  59. data/lib/sbuilder/sexp_processor_snippet.rb +154 -0
  60. data/lib/sbuilder/sexp_processor_symboltable1.rb +296 -0
  61. data/lib/sbuilder/sexp_processor_symboltable2.rb +175 -0
  62. data/lib/sbuilder/sexp_utils.rb +417 -0
  63. data/lib/utils/logger.rb +82 -0
  64. data/lib/utils/string_inject.rb +11 -0
  65. data/sbuilder-ethereum.gemspec +39 -0
  66. metadata +190 -0
@@ -0,0 +1,11 @@
1
+ if !String.method_defined?( :unindent ) then
2
+ class String
3
+ # Strip leading whitespace from each line that is the same as the
4
+ # amount of whitespace on the first line of the string.
5
+ # Leaves _additional_ indentation on later lines intact.
6
+ def unindent
7
+ gsub /^#{self[/\A[ \t]*/]}/, ''
8
+ end
9
+ end
10
+ end
11
+
@@ -0,0 +1,39 @@
1
+ # -*- encoding: utf-8; mode: ruby -*-
2
+
3
+ lib = File.expand_path('../lib/', __FILE__)
4
+ $:.unshift lib unless $:.include?(lib)
5
+
6
+ GEM_NAME='sbuilder-ethereum'
7
+ Gem::Specification.new do |s|
8
+
9
+ # version = "0.0.1.pre"
10
+ version = File.open( "VERSION", "r" ) { |f| f.read }.strip.gsub( "-SNAPSHOT", ".pre" )
11
+
12
+ s.name = GEM_NAME
13
+ s.version = version
14
+ s.date = Time.now.strftime( "%Y-%m-%d" ) #'2014-09-10'
15
+ s.summary = "Ethereum sbuilder api extension"
16
+ s.description = <<EOF
17
+
18
+ Ethereum Sbuilder loader plugin to load api interfaces and
19
+ specification snippets for Ethereum Solidity contract in tlaplus
20
+ language.
21
+
22
+
23
+ EOF
24
+ s.authors = ["jarjuk"]
25
+ s.files = [ "VERSION", "#{s.name}.gemspec" ] | Dir.glob("lib/**/*")
26
+ s.require_paths = [ "lib" ]
27
+ s.executables = [ ]
28
+ s.license = 'MIT'
29
+
30
+ s.homepage = "https://github.com/jarjuk/#{GEM_NAME}"
31
+
32
+ s.required_ruby_version = '~> 2.3', ">=2.3.1"
33
+
34
+ s.add_runtime_dependency 'thor', '~>0.19', ">=0.19.1"
35
+ s.add_runtime_dependency "sexp_processor", "~> 4.2"
36
+ s.add_runtime_dependency "mustache", '~>1.0', ">=1.0.3"
37
+ s.add_runtime_dependency "tla-sbuilder", '~>0.3', ">=0.3.4.pre"
38
+
39
+ end
metadata ADDED
@@ -0,0 +1,190 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sbuilder-ethereum
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.6
5
+ platform: ruby
6
+ authors:
7
+ - jarjuk
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-12-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.19'
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.19.1
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '0.19'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 0.19.1
33
+ - !ruby/object:Gem::Dependency
34
+ name: sexp_processor
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '4.2'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '4.2'
47
+ - !ruby/object:Gem::Dependency
48
+ name: mustache
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '1.0'
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: 1.0.3
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - "~>"
62
+ - !ruby/object:Gem::Version
63
+ version: '1.0'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 1.0.3
67
+ - !ruby/object:Gem::Dependency
68
+ name: tla-sbuilder
69
+ requirement: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: '0.3'
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: 0.3.4.pre
77
+ type: :runtime
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "~>"
82
+ - !ruby/object:Gem::Version
83
+ version: '0.3'
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: 0.3.4.pre
87
+ description: |2+
88
+
89
+ Ethereum Sbuilder loader plugin to load api interfaces and
90
+ specification snippets for Ethereum Solidity contract in tlaplus
91
+ language.
92
+
93
+
94
+ email:
95
+ executables: []
96
+ extensions: []
97
+ extra_rdoc_files: []
98
+ files:
99
+ - VERSION
100
+ - lib/mixer/decl_ref.rb
101
+ - lib/mixer/domain_ref.rb
102
+ - lib/mixer/scope.rb
103
+ - lib/mixer/scoped.rb
104
+ - lib/mixer/symbol_ref.rb
105
+ - lib/mixer/type_symbol.rb
106
+ - lib/plugin/plugin.rb
107
+ - lib/resources/correctness/accouns_type.tla
108
+ - lib/resources/correctness/accounts_unique.tla
109
+ - lib/resources/correctness/accounts_valid.tla
110
+ - lib/resources/correctness/storage_root_unique.tla
111
+ - lib/resources/correctness/total_value.tla
112
+ - lib/resources/eth/accounts_state.tla
113
+ - lib/resources/eth/accounts_temp.tla
114
+ - lib/resources/eth/address_free.tla
115
+ - lib/resources/eth/mined_state.tla
116
+ - lib/resources/eth/storageRoot.tla
117
+ - lib/resources/eth/storageRoot_temp.tla
118
+ - lib/resources/mine/mine_entry.tla
119
+ - lib/resources/mine/mine_service.tla
120
+ - lib/resources/operators/elementExists.tla
121
+ - lib/resources/operators/gasPrice.tla
122
+ - lib/resources/operators/gasValue.tla
123
+ - lib/resources/operators/getElement.tla
124
+ - lib/resources/operators/intrinsicGas.tla
125
+ - lib/resources/operators/transactionGas.tla
126
+ - lib/resources/operators/upFrontCost.tla
127
+ - lib/resources/personal_newAccount/personal_newAccount_done.tla
128
+ - lib/resources/personal_newAccount/personal_newAccount_entry.tla
129
+ - lib/resources/personal_newAccount/personal_newAccount_service.tla
130
+ - lib/resources/removed/sendTransaction_entry.tla
131
+ - lib/resources/removed/sendTransaction_service.tla
132
+ - lib/resources/removed/tst.tla
133
+ - lib/resources/transaction/ethereum_service_done.tla
134
+ - lib/resources/transaction/ethereum_service_pop.tla
135
+ - lib/resources/transaction/ethereum_service_push.tla
136
+ - lib/resources/transaction/ethereum_service_start.tla
137
+ - lib/resources/transaction/status_fail.tla
138
+ - lib/resources/transaction/status_ok.tla
139
+ - lib/sbuilder-ethereum.rb
140
+ - lib/sbuilder/compile.rb
141
+ - lib/sbuilder/constants.rb
142
+ - lib/sbuilder/exception.rb
143
+ - lib/sbuilder/generate/sexp_processor_tla.rb
144
+ - lib/sbuilder/generate/tla_element_generator.rb
145
+ - lib/sbuilder/generate/tla_element_text.rb
146
+ - lib/sbuilder/load.rb
147
+ - lib/sbuilder/mustache/renderer.rb
148
+ - lib/sbuilder/render.rb
149
+ - lib/sbuilder/s.rb
150
+ - lib/sbuilder/sexp_ast.rb
151
+ - lib/sbuilder/sexp_processor_api.rb
152
+ - lib/sbuilder/sexp_processor_canonize.rb
153
+ - lib/sbuilder/sexp_processor_dataflow.rb
154
+ - lib/sbuilder/sexp_processor_ethereum.rb
155
+ - lib/sbuilder/sexp_processor_need_to_canonize.rb
156
+ - lib/sbuilder/sexp_processor_snippet.rb
157
+ - lib/sbuilder/sexp_processor_symboltable1.rb
158
+ - lib/sbuilder/sexp_processor_symboltable2.rb
159
+ - lib/sbuilder/sexp_utils.rb
160
+ - lib/utils/logger.rb
161
+ - lib/utils/string_inject.rb
162
+ - sbuilder-ethereum.gemspec
163
+ homepage: https://github.com/jarjuk/sbuilder-ethereum
164
+ licenses:
165
+ - MIT
166
+ metadata: {}
167
+ post_install_message:
168
+ rdoc_options: []
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - "~>"
174
+ - !ruby/object:Gem::Version
175
+ version: '2.3'
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: 2.3.1
179
+ required_rubygems_version: !ruby/object:Gem::Requirement
180
+ requirements:
181
+ - - ">="
182
+ - !ruby/object:Gem::Version
183
+ version: '0'
184
+ requirements: []
185
+ rubyforge_project:
186
+ rubygems_version: 2.5.1
187
+ signing_key:
188
+ specification_version: 4
189
+ summary: Ethereum sbuilder api extension
190
+ test_files: []