everscale-client-ruby 1.1.69 → 1.1.72

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f7e43a4c2728e714f0bbf3cdf5ad60ed200fab8696ae4b770cf7b71bc813f96a
4
- data.tar.gz: 294d90955172604dc290987db58f392a101bf49224af72bc582e5c14ff08ac3c
3
+ metadata.gz: 136fc32e9f45062ce1d5438d556c62edc66e41af2d4af62536a472b40d34a94e
4
+ data.tar.gz: f224f11d2942876ae70e84760db488ec2236ee5066b7512c1c505feefed3e106
5
5
  SHA512:
6
- metadata.gz: f8ce9d3927f5ec00646764ad3e5d2e4a21101079502aec94fb8684b2933b3f519df49dfb6610dedc6ce4567f06635022824a607b236cbaa704d743bc19dd4a24
7
- data.tar.gz: a5da28be4b7ac6a0321166f47d4858107a666b10267980460df41f5ab3ab1e1a83ef255ce65e703e563ae9d98cb41a4cfc1f332380f473da01208cfe2c7166aa
6
+ metadata.gz: 8fc44736ed3251e6a1d1df9bb8a278afe642ffc4c10c8f3912f01b4b73ea7cafb2fc30eaac033c64880db0d2fa411dcca10fe7095e5dd9fca182f252f6a0ec2f
7
+ data.tar.gz: 83867a9d7aaebdff3f8ebe2feccd2e3c19625d901c5d76288c6c95ebf3f6f16c1f6cb41bad07e4c4a4830217b757c0b5c2b4f437361195ddfd97831c19a1bd42
@@ -40,6 +40,7 @@ elsif ARGV[0] == 'setup'
40
40
  unless Dir.exist?("#{GEM_DIR}/TON-SDK")
41
41
  system("cd #{GEM_DIR} && git clone https://github.com/tonlabs/TON-SDK ./TON-SDK")
42
42
  end
43
+ system("cd #{GEM_DIR}/TON-SDK && git reset --hard HEAD")
43
44
  system("cd #{GEM_DIR}/TON-SDK && git pull --ff-only")
44
45
  system("cd #{GEM_DIR}/TON-SDK && cargo update")
45
46
  system("cd #{GEM_DIR}/TON-SDK && cargo build --release")
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.43.0",
2
+ "version": "1.44.0",
3
3
  "modules": [
4
4
  {
5
5
  "name": "client",
@@ -10479,16 +10479,8 @@
10479
10479
  "type": "Struct",
10480
10480
  "struct_fields": [
10481
10481
  {
10482
- "name": "value",
10483
- "type": "Struct",
10484
- "struct_fields": [
10485
- {
10486
- "name": "boc",
10487
- "type": "String",
10488
- "summary": null,
10489
- "description": null
10490
- }
10491
- ],
10482
+ "name": "boc",
10483
+ "type": "String",
10492
10484
  "summary": null,
10493
10485
  "description": null
10494
10486
  }
@@ -10501,23 +10493,15 @@
10501
10493
  "type": "Struct",
10502
10494
  "struct_fields": [
10503
10495
  {
10504
- "name": "value",
10505
- "type": "Struct",
10506
- "struct_fields": [
10507
- {
10508
- "name": "hash",
10509
- "type": "String",
10510
- "summary": "Hash of the message.",
10511
- "description": null
10512
- },
10513
- {
10514
- "name": "address",
10515
- "type": "String",
10516
- "summary": "Destination address of the message.",
10517
- "description": null
10518
- }
10519
- ],
10520
- "summary": null,
10496
+ "name": "hash",
10497
+ "type": "String",
10498
+ "summary": "Hash of the message.",
10499
+ "description": null
10500
+ },
10501
+ {
10502
+ "name": "address",
10503
+ "type": "String",
10504
+ "summary": "Destination address of the message.",
10521
10505
  "description": null
10522
10506
  }
10523
10507
  ],
@@ -67,9 +67,10 @@ gem install everscale-client-ruby
67
67
  ```
68
68
 
69
69
  Install TON-SDK
70
+
71
+ ##### result - path to dylib file for everscale-client-ruby configuration
70
72
  ```bash
71
73
  everscale-client-ruby setup
72
- # result - path to dylib file for everscale-client-ruby configuration
73
74
  ```
74
75
 
75
76
  ### Manual build TVM SDK
@@ -183,12 +183,12 @@ module TonClient
183
183
 
184
184
  request_id = request_id.increment
185
185
  requests[request_id] = block
186
- # p "start #{request_id}"
186
+ # p "start id #{request_id} - requests #{requests.object_id}"
187
187
  tc_request(context, method_name_string, payload_string, request_id) do |request_id, string_data, response_type, finished|
188
- # p "tc_request #{request_id}"
189
- # p "Thread.current #{Thread.current}"
188
+ # p "rust inside id #{request_id} - #{method_name}"
190
189
  begin
191
- monitor.synchronize do
190
+ monitor&.synchronize do
191
+ # p "request_id #{request_id}, monitor #{monitor.object_id} - requests #{requests.object_id}"
192
192
  request = requests[request_id]
193
193
  if request
194
194
  request.call(Response.new(request_id, string_data, response_type, finished))
@@ -15,13 +15,23 @@ module TonClient
15
15
 
16
16
  def self.callLibraryMethodSync(method, *args)
17
17
  responses = []
18
- queue = Queue.new
18
+ mutex = Monitor.new
19
+ condition = mutex.new_cond
20
+
19
21
  method.call(*args) do |response|
20
- responses << response
21
- yield(responses) if block_given?
22
- queue.push 1 if response.finished == true
22
+ mutex.synchronize do
23
+ responses << response
24
+ if response.finished == true
25
+ condition.signal
26
+ end
27
+ end
23
28
  end
24
- queue.pop
29
+
30
+ mutex.synchronize do
31
+ condition.wait
32
+ end
33
+
34
+ yield(responses.map{ |resp| resp if resp.result }.compact) if block_given?
25
35
  end
26
36
 
27
37
  class RequestId
@@ -1,4 +1,4 @@
1
1
  module TonClient
2
- VERSION = "1.1.69"
2
+ VERSION = "1.1.72"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: everscale-client-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.69
4
+ version: 1.1.72
5
5
  platform: ruby
6
6
  authors:
7
7
  - nerzh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-26 00:00:00.000000000 Z
11
+ date: 2023-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ffi
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  requirements: []
145
- rubygems_version: 3.4.12
145
+ rubygems_version: 3.4.16
146
146
  signing_key:
147
147
  specification_version: 4
148
148
  summary: This is gem everscale-client-ruby