tezos_client 1.3.5 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 51e427c6e828b0dcfbe66daccac99c8881d155230b4d0efd0be253af2b1a3b99
4
- data.tar.gz: 8b2ef9adcfd62f92ef9b0b98ec44964e8425e43074729c8f0a8a48949b8ae6e9
3
+ metadata.gz: 2f5b9a5c58bf1640c1dea1b7e50476ec7f73d8921f643aae09ee78bc6c52831f
4
+ data.tar.gz: d6ab0bf0fe3a61153e932f826495cc63a4ef111d58059a998461f4a75a45dbe7
5
5
  SHA512:
6
- metadata.gz: b02cacf6f37704e03a2df7c6400ce4bed6cb74bfdbec7b4ff25ff7045f9ba4d3d51350637320522d9508291de300dbe68f23ffc249f980f4e1d6c332e61e8fa7
7
- data.tar.gz: c19c93b09dd4943fd5d8b054538361d53b813aafba033b91280ac6a6383256c2139253b370d798c4ada43dd794cfdd7318156c261bb1022b18b61b37b9672526
6
+ metadata.gz: 97e1173843fbd7856cd3b533cdb7dafc0377825709756c07f32ac17b2645264b77fa3bc96dffba72bcd9142c6312911497d2117b237dfe04c8b91aa26eeded29
7
+ data.tar.gz: 28f6dddae3bef46b9dfa12ec10195c33c6a4cef8dbae0a629123d8b6bea92a289a0e378fde25a27c68cb3c83f183a332b720b8ad2d89b72f2c7e11eeac749fc4
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tezos_client (1.3.5)
4
+ tezos_client (1.3.4)
5
5
  active_interaction (>= 3.8)
6
6
  activesupport (~> 6.0.0)
7
7
  base58 (~> 0.2.3)
data/README.md CHANGED
@@ -20,10 +20,10 @@ npm i -g michelson-to-micheline
20
20
  ```
21
21
 
22
22
  ### SmartPy
23
- [SmartPy](https://smartpy.io/)
23
+ [SmartPy](https://smartpy.io/releases/20210317-bc925bb73dc885ac2b4dde9689e805d9b0bc6125/)
24
24
 
25
25
  ```bash
26
- sh <(curl -s https://smartpy.io/dev-20200924-23b26494361d96abf034bdbb1ad1af396f95fd61/cli/SmartPy.sh) local-install-auto
26
+ sh <(curl -s https://smartpy.io/releases/20210317-bc925bb73dc885ac2b4dde9689e805d9b0bc6125/cli/install.sh)
27
27
  export PATH=$PATH:$HOME/smartpy-cli/
28
28
  ```
29
29
 
data/lib/tezos_client.rb CHANGED
@@ -82,7 +82,7 @@ class TezosClient
82
82
  #
83
83
  # @return [Hash] result of the origination containing :operation_id, :operation_result and :originated_contract
84
84
  #
85
- def originate_contract(from:, amount:, secret_key: nil, script: nil, init_params: nil, dry_run: false, **args)
85
+ def originate_contract(from:, amount:, secret_key: nil, script: nil, init_params: [], dry_run: false, **args)
86
86
  origination_args = {
87
87
  rpc_interface: rpc_interface,
88
88
  from: from,
@@ -92,9 +92,9 @@ class TezosClient
92
92
  }
93
93
 
94
94
  origination_args[:script] = contract_interface(script).origination_script(
95
- from: from,
96
95
  script: script,
97
- init_params: init_params
96
+ init_params: init_params,
97
+ **args
98
98
  )
99
99
 
100
100
  operation = OriginationOperation.new(origination_args)
@@ -1,20 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative "smartpy_inteface/smartpy_wrapper"
4
- require_relative "smartpy_inteface/micheline_serializer_wrapper"
5
4
 
6
5
  class TezosClient
7
6
  class SmartpyInterface
8
7
  include Logger
9
8
  include SmartpyWrapper
10
- include MichelineSerializerWrapper
11
9
 
12
10
  attr_reader :options
13
11
 
14
12
  def json_scripts(args)
15
13
  compile_to_michelson(args) do |contract_script_filename, init_script_filename|
16
14
  micheline_contract = File.read(contract_script_filename)
17
- micheline_storage = convert_michelson_to_micheline(File.read(init_script_filename))
15
+ micheline_storage = File.read(init_script_filename)
18
16
 
19
17
  [JSON.parse(micheline_storage), JSON.parse(micheline_contract)]
20
18
  end
@@ -34,12 +32,46 @@ class TezosClient
34
32
  Tools::TemporaryFile.with_file_copy(args[:script]) do |script_copy_path|
35
33
  script_basename = script_copy_path.split("/").last.sub(/.py$/, "")
36
34
  script_path = "/tmp/#{script_basename}/"
37
- init_script_filename = "#{script_basename}_storage_init.tz"
38
- contract_script_filename = "#{script_basename}_compiled.json"
39
- call_smartpy ["compile", script_copy_path, args[:init_params], script_path]
35
+ init_script_filename = "step_000_cont_0_storage.json"
36
+ contract_script_filename = "step_000_cont_0_contract.json"
40
37
 
41
- yield(script_path + contract_script_filename, script_path + init_script_filename)
38
+ cmd_line = ["compile", script_copy_path, script_path].concat(
39
+ optional_inputs(args[:smartpy_flags], args[:init_params])
40
+ )
41
+
42
+ call_smartpy cmd_line
43
+
44
+ yield(script_path + "default/" + contract_script_filename, script_path + "default/" + init_script_filename)
42
45
  end
43
46
  end
47
+
48
+ def optional_inputs(flags, init_params)
49
+ inputs = []
50
+
51
+ inputs.concat(optional_flags(flags))
52
+ inputs.concat(optional_args(init_params))
53
+
54
+ inputs
55
+ end
56
+
57
+ def optional_flags(flags)
58
+ (flags || {}).map do |key, value|
59
+ if value.is_a?(FalseClass) || value.is_a?(TrueClass)
60
+ "--#{key}"
61
+ else
62
+ ["--#{key}", value.to_s]
63
+ end
64
+ end.flatten
65
+ end
66
+
67
+ def optional_args(init_params = [])
68
+ return [] if init_params.count.zero?
69
+
70
+ ["--"].concat(
71
+ init_params.map do |init_param|
72
+ init_param.to_json
73
+ end
74
+ )
75
+ end
44
76
  end
45
77
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class TezosClient
4
- VERSION = "1.3.5"
4
+ VERSION = "1.4.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tezos_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pierre Michard
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-05 00:00:00.000000000 Z
11
+ date: 2021-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -270,7 +270,6 @@ files:
270
270
  - lib/tezos_client/rpc_interface/monitor.rb
271
271
  - lib/tezos_client/rpc_interface/operations.rb
272
272
  - lib/tezos_client/rpc_interface/request_manager.rb
273
- - lib/tezos_client/smartpy_inteface/micheline_serializer_wrapper.rb
274
273
  - lib/tezos_client/smartpy_inteface/smartpy_wrapper.rb
275
274
  - lib/tezos_client/smartpy_interface.rb
276
275
  - lib/tezos_client/string_utils.rb
@@ -329,7 +328,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
329
328
  - !ruby/object:Gem::Version
330
329
  version: '0'
331
330
  requirements: []
332
- rubygems_version: 3.0.3
331
+ rubygems_version: 3.0.8
333
332
  signing_key:
334
333
  specification_version: 4
335
334
  summary: Wrapper to the tezos client.
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class TezosClient
4
- class SmartpyInterface
5
- module MichelineSerializerWrapper
6
- def convert_michelson_to_micheline(script)
7
- cmd = ["michelson-to-micheline", script]
8
-
9
- Tools::SystemCall.execute(cmd)
10
- end
11
-
12
- def actual_project_path
13
- TezosClient.root_path
14
- end
15
- end
16
- end
17
- end