web3-eth 0.2.42 → 0.2.43

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: be53500a62d2173534a5185754204a73dea2dca2c939a3600c4849c4fcd09507
4
- data.tar.gz: b922097f3c0d77f1094d6f3989bc069230a6f957b7b1889159603b72959c7bd2
3
+ metadata.gz: 1fbfec63edeacffa6dd8bc88cff464503436bc2976454b43cc7589b73855cb4c
4
+ data.tar.gz: 9d2c121745c860f955e42a5413eb63ae1677d42c1df998d1dd1b96d81c207d68
5
5
  SHA512:
6
- metadata.gz: fb361e8864115ddb6a48578f935867747796509f18db2d6f68850bb81d500c995eb1e493bf9a578439676aae70baca5dd97835cb257b7cc7b6d5262365179923
7
- data.tar.gz: d1629cbb28c2521be28b83bdb714a0045facf2af92cb3b4512cf116cf0a055b7405c2e2dced47fe97f69c5f0994c7723a22dbf61a0de07ab6efe81d9640dde72
6
+ metadata.gz: 8e0f5d16691861ecaae6cac991cc9564a68e22ef41058234913bfc3dbda62dae3888fc103cce6b09b33ba52f42e21c654f0597b3ec72f37c2d7a260d19920e0a
7
+ data.tar.gz: 7f0ab0a306c04bd132685ed77c3fcb0d359f483bd07c3f3a06f2ace02fe9326d78d4dc5f6596f35b75e1f3f78d944adb419d49360e76ddb6c9bf3aac54b18b26
@@ -231,7 +231,7 @@ module Web3::Eth::Abi
231
231
 
232
232
  pos += 32
233
233
  else
234
- outputs[i] = data[pos, t.size]
234
+ outputs[i] = zero_padding data, pos, t.size, start_positions
235
235
  pos += t.size
236
236
  end
237
237
  end
@@ -266,6 +266,18 @@ module Web3::Eth::Abi
266
266
  end
267
267
  alias :decode :decode_abi
268
268
 
269
+ def zero_padding data, pos, count, start_positions
270
+ if pos >= data.size
271
+ start_positions[start_positions.size-1] += count
272
+ "\x00"*count
273
+ elsif pos + count > data.size
274
+ start_positions[start_positions.size-1] += ( count - (data.size-pos))
275
+ data[pos,data.size-pos] + "\x00"*( count - (data.size-pos))
276
+ else
277
+ data[pos, count]
278
+ end
279
+ end
280
+
269
281
  def decode_typed_data type_name, data
270
282
  decode_primitive_type Type.parse(type_name), data
271
283
  end
@@ -1,5 +1,5 @@
1
1
  module Web3
2
2
  module Eth
3
- VERSION = "0.2.42"
3
+ VERSION = "0.2.43"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: web3-eth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.42
4
+ version: 0.2.43
5
5
  platform: ruby
6
6
  authors:
7
7
  - studnev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-06-18 00:00:00.000000000 Z
11
+ date: 2020-07-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rlp