ton-sdk-ruby 0.0.13 → 0.0.14

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: c0e506fcf3b735651dfa9c7b184ae47125e2f6fe31789e41a900bc1baacb94d2
4
- data.tar.gz: 25b58c71504f6ae8e409acadd457fdd614fcd0962f2a67b2cc7e34c7eaafdd43
3
+ metadata.gz: f81c745cb33593fbc91dc0071409dca6aa63fcb24390abd4725c9a6eeac9b594
4
+ data.tar.gz: 3a71eb78459f544bebd24eac61ea96149633438aa0edbf30ae6aa114bd681f05
5
5
  SHA512:
6
- metadata.gz: 8dea39c14e9d55fcfd52a1a1f01585247b876a13a55341094e1e80069b3fef2e93fdaeac32063ce983186d815222d4b76feb74cdabb16a1fa924f6c2a232c349
7
- data.tar.gz: 69f35f6ebf20a997044734b4b6047e80f505cf7bdfc0a8afcfbdcc5ba922e58fa3951b149e182044d1bdd863b7de6410d1975cde5bc9a33e2c88fd53fd2608cd
6
+ metadata.gz: '0518bafa41f14473cffce29a722ab7ac38c1d01e94ade6c60be9336c2dc34ae9456a26822ba5a5758d687771b832b3de89eb5c9e32fb0e4c55f480d539335d0b'
7
+ data.tar.gz: e7b8ffd7860e9988db37eff6c3ac4ba4c67a044741b2645fd323e2d9954ba88c82f4a2b0d8a528fdd71c3bc14ee0634f2d3fdd5aca9a21851d7519eecd5a7639
@@ -217,7 +217,6 @@ module TonSdkRuby
217
217
  def cell(type = CellType::Ordinary)
218
218
  # Use getters to get copies of arrays
219
219
  cell = Cell.new(bits: bits, refs: refs, type: type)
220
-
221
220
  cell
222
221
  end
223
222
 
@@ -133,13 +133,11 @@ module TonSdkRuby
133
133
 
134
134
  edge = Builder.new
135
135
  label = serialize_label(nodes)
136
-
137
136
  edge.store_bits(label)
138
137
 
139
138
  # hmn_leaf#_
140
139
  if nodes.length == 1
141
140
  leaf = serialize_leaf(nodes[0])
142
-
143
141
  edge.store_slice(leaf.parse)
144
142
  end
145
143
 
@@ -195,7 +193,6 @@ module TonSdkRuby
195
193
  break
196
194
  end
197
195
  end
198
-
199
196
  same_bits_length = same_bits_index.nil? ? first.length : same_bits_index
200
197
 
201
198
  if first[0] != last[0] || m == 0
@@ -217,13 +214,11 @@ module TonSdkRuby
217
214
 
218
215
  # Sort labels by their length
219
216
  labels.sort_by! { |el| el[:label].length }
220
-
221
217
  # Get most compact label
222
218
  choosen = labels[0]
223
219
 
224
220
  # Remove label bits from nodes keys
225
221
  nodes.each { |key, _| key.shift(choosen[:bits]) }
226
-
227
222
  choosen[:label]
228
223
  end
229
224
 
@@ -280,10 +275,8 @@ module TonSdkRuby
280
275
 
281
276
  if key.length == key_size
282
277
  value = Builder.new.store_slice(edge).cell
283
-
284
278
  return nodes.concat([[key, value]])
285
279
  end
286
-
287
280
  edge.refs.each_with_index do |_r, i|
288
281
  fork_edge = edge.load_ref.parse
289
282
  fork_key = key + [i]
@@ -7,32 +7,6 @@ module TonSdkRuby
7
7
  LEAN_BOC_MAGIC_PREFIX = hex_to_bytes('68FF65F3')
8
8
  LEAN_BOC_MAGIC_PREFIX_CRC = hex_to_bytes('ACC3A728')
9
9
 
10
- class BOCOptions
11
- attr_accessor :has_index, :hash_crc32, :has_cache_bits, :topological_order, :flags
12
- end
13
-
14
- class BocHeader
15
- attr_accessor :has_index, :hash_crc32, :has_cache_bits, :flags, :size_bytes,
16
- :offset_bytes, :cells_num, :roots_num, :absent_num,
17
- :tot_cells_size, :root_list, :cells_data
18
- end
19
-
20
- class CellNode
21
- attr_accessor :cell, :children, :scanned
22
- end
23
-
24
- class BuilderNode
25
- attr_accessor :builder, :indent
26
- end
27
-
28
- class CellPointer
29
- attr_accessor :cell, :type, :builder, :refs
30
- end
31
-
32
- class CellData
33
- attr_accessor :pointer, :remainder
34
- end
35
-
36
10
  def deserialize_fift(data)
37
11
  raise 'Can\'t deserialize. Empty fift hex.' if data.nil? || data.empty?
38
12
 
@@ -226,12 +200,12 @@ module TonSdkRuby
226
200
  pointers.push(deserialized[:pointer])
227
201
  end
228
202
 
229
- pointers.reverse_each.with_index do |pointer, i|
230
- pointer_index = pointers.length - i - 1
231
- cell_builder = pointer[:builder]
232
- cell_type = pointer[:type]
203
+ pointers.each_with_index do |_, index|
204
+ pointer_index = pointers.length - index - 1
205
+ cell_builder = pointers[pointer_index][:builder]
206
+ cell_type = pointers[pointer_index][:type]
233
207
 
234
- pointer[:refs].each do |ref_index|
208
+ pointers[pointer_index][:refs].each do |ref_index|
235
209
  ref_builder = pointers[ref_index][:builder]
236
210
  ref_type = pointers[ref_index][:type]
237
211
 
@@ -247,7 +221,6 @@ module TonSdkRuby
247
221
  if cell_type == CellType::MerkleProof || cell_type == CellType::MerkleUpdate
248
222
  has_merkle_proofs = true
249
223
  end
250
-
251
224
  pointers[pointer_index][:cell] = cell_builder.cell(cell_type)
252
225
  end
253
226
 
@@ -250,12 +250,13 @@ module TonSdkRuby
250
250
  # 2 bits flag, 1 bit anycast, 8 bits workchain, 256 bits address hash
251
251
  size = 2 + 1 + 8 + 256
252
252
  # Slice 2 because we don't need flag bits
253
- bits = load_bits(size)[2..-1]
253
+ loaded_bits = load_bits(size)
254
+ bits = loaded_bits[2..-1]
254
255
 
255
256
  # Anycast is currently unused
256
257
  _anycast = bits.shift
257
-
258
258
  workchain = bits_to_int_uint(bits.shift(8), type: 'int')
259
+
259
260
  hash = bits_to_hex(bits.shift(256))
260
261
  raw = "#{workchain}:#{hash}"
261
262
 
@@ -24,9 +24,9 @@ module TonSdkRuby
24
24
  end
25
25
 
26
26
  def initialize(address, options = {})
27
- is_address = Address.is_address?(address)
28
- is_encoded = Address.is_encoded?(address)
29
- is_raw = Address.is_raw?(address)
27
+ is_address = Address.is_address?(address.clone)
28
+ is_encoded = Address.is_encoded?(address.clone)
29
+ is_raw = Address.is_raw?(address.clone)
30
30
 
31
31
  case true
32
32
  when is_address
@@ -1,4 +1,4 @@
1
1
  module TonSdkRuby
2
- VERSION = "0.0.13"
2
+ VERSION = "0.0.14"
3
3
  end
4
4
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ton-sdk-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.13
4
+ version: 0.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - nerzh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-12 00:00:00.000000000 Z
11
+ date: 2024-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ed25519