sbuilder-ethereum 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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: []