web3-eth 0.2.20 → 0.2.21

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
  SHA1:
3
- metadata.gz: 6eee93039118865e85f95566567552c592c8e72f
4
- data.tar.gz: e65572456c241acab1e55ec62e3a450cf744b7a4
3
+ metadata.gz: 27869236d216cf8a0cbeb2c1102cc3e9d3505ba6
4
+ data.tar.gz: d2e4948dcdc6b237acebe86da9bb6bb9a2908aef
5
5
  SHA512:
6
- metadata.gz: afa11909a8e2ba1c5c068be2257184bc05875a0c8b506ed18fd97a3aa03d63b99230dd8302a4392a2a539c0c4d01c14e23e6d9a608809c22e7eb1910866e7986
7
- data.tar.gz: 0f099d8e1e5d4fb78c0390dcd7e0dd260acb1f39b139872f1d631f4d6a49d86ae0aa958695efa75623bf6c28beb0520db2fc0740d6cea6408aa82e3fcd2108cd
6
+ metadata.gz: ce86e2db9a40f52e0376427d5976cdd67c8cadba1d2829d3e80c7cc12b806d99c85cc2056ccf604db24f5fd25f2a8bcbab2520df1533d598ffded5e514888c64
7
+ data.tar.gz: 0ba1c2c31b35929922dea30d49cc547386ba784805694c599a388c82829692f8b0caf8af6a9300b2288f2e8d1d7d8c4605b15a764c83ae8b4e01d9e8a126dbb4
@@ -248,7 +248,8 @@ module Web3::Eth::Abi
248
248
  end
249
249
 
250
250
  def decode_type(type, arg)
251
- if type.kind_of?(Tuple)
251
+ return nil if arg.nil?
252
+ if type.kind_of?(Tuple) && type.dims.empty?
252
253
  arg ? decode_abi(type.types, arg) : []
253
254
  elsif %w(string bytes).include?(type.base) && type.sub.empty?
254
255
  l = Utils.big_endian_to_int arg[0,32]
@@ -261,7 +262,7 @@ module Web3::Eth::Abi
261
262
  if subtype.dynamic?
262
263
  raise DecodingError, "Not enough data for head" unless arg.size >= 32 + 32*l
263
264
 
264
- start_positions = (1..l).map {|i| Utils.big_endian_to_int arg[32*i, 32] }
265
+ start_positions = (1..l).map {|i| 32+Utils.big_endian_to_int(arg[32*i, 32]) }
265
266
  start_positions.push arg.size
266
267
 
267
268
  outputs = (0...l).map {|i| arg[start_positions[i]...start_positions[i+1]] }
@@ -139,6 +139,9 @@ module Web3::Eth::Abi
139
139
  nil
140
140
  end
141
141
 
142
+ def subtype
143
+ @subtype ||= Tuple.new(types, dims[0...-1])
144
+ end
142
145
 
143
146
  end
144
147
 
@@ -1,5 +1,5 @@
1
1
  module Web3
2
2
  module Eth
3
- VERSION = "0.2.20"
3
+ VERSION = "0.2.21"
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.20
4
+ version: 0.2.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - studnev
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-31 00:00:00.000000000 Z
11
+ date: 2019-04-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rlp