btcruby 1.0.8 → 1.0.9

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
  SHA1:
3
- metadata.gz: 6f08e8037db701b84d3bcaa4668d31ac412f1ffe
4
- data.tar.gz: d79f69ebbb77f91742a118418b242a73503392dc
3
+ metadata.gz: 439c2a6b804d58bfcb7255211aeea92a5f986f29
4
+ data.tar.gz: 559235e43429aa8fba5ce4e709042bd20423fe12
5
5
  SHA512:
6
- metadata.gz: 5a741067c8ee868612b0efc58c293c9da7e530629eb8f9f8e5204167132162fe31a8766f2a8d35a26b7c19bf4745d24d17a8eda7350866eaafc81f726a5e3a42
7
- data.tar.gz: fdeec25673942c8ded43a90fe9967c0ac6dc52e2b7d69e1943a6eb2c72a7daf1ac9f15bb99b68d1c95d6cb3a5fb085195762cfa0c65c5f67732c59dcc518cdf6
6
+ metadata.gz: 0dc6aa566dc06fc01355faa49043655781567a46852d7d02dc100bc621bb0440017b69599eeb37f702cd1e4bb827cc5a1034e9bf939b340889a0aca5e859f183
7
+ data.tar.gz: e08ac7f8e1a52a2f257f1f68b51db79e9c0b77209a5809bd4595e508ecece588e2c65f4fb18698e53e367920d640964cb7bb6456abbcec9e430a462f6ed82abc
data/RELEASE_NOTES.md CHANGED
@@ -2,6 +2,12 @@
2
2
  BTCRuby Release Notes
3
3
  =====================
4
4
 
5
+ 1.0.9 (July 20, 2015)
6
+ --------------------
7
+
8
+ * Added `int32be` encoding support.
9
+
10
+
5
11
  1.0.8 (July 19, 2015)
6
12
  --------------------
7
13
 
@@ -1,3 +1,3 @@
1
1
  module BTC
2
- VERSION = "1.0.8".freeze
2
+ VERSION = "1.0.9".freeze
3
3
  end
@@ -262,6 +262,7 @@ module BTC
262
262
  PACK_FORMAT_UINT32LE = "L<".freeze
263
263
  PACK_FORMAT_INT32LE = "l<".freeze
264
264
  PACK_FORMAT_UINT32BE = "L>".freeze # used in BIP32
265
+ PACK_FORMAT_INT32BE = "l>".freeze
265
266
  PACK_FORMAT_UINT64LE = "Q<".freeze
266
267
  PACK_FORMAT_INT64LE = "q<".freeze
267
268
 
@@ -294,6 +295,10 @@ module BTC
294
295
  def read_uint32be(data: nil, stream: nil, offset: 0) # used in BIP32
295
296
  _read_fixint(name: :uint32be, length: 4, pack_format: PACK_FORMAT_UINT32BE, data: data, stream: stream, offset: offset)
296
297
  end
298
+
299
+ def read_int32be(data: nil, stream: nil, offset: 0)
300
+ _read_fixint(name: :int32be, length: 4, pack_format: PACK_FORMAT_INT32BE, data: data, stream: stream, offset: offset)
301
+ end
297
302
 
298
303
  def read_uint64le(data: nil, stream: nil, offset: 0)
299
304
  _read_fixint(name: :uint64le, length: 8, pack_format: PACK_FORMAT_UINT64LE, data: data, stream: stream, offset: offset)
@@ -308,6 +313,7 @@ module BTC
308
313
  def encode_int8(int); [int].pack(PACK_FORMAT_INT8); end
309
314
  def encode_uint16le(int); [int].pack(PACK_FORMAT_UINT16LE); end
310
315
  def encode_int16le(int); [int].pack(PACK_FORMAT_INT16LE); end
316
+ def encode_int32be(int); [int].pack(PACK_FORMAT_INT32BE); end
311
317
  def encode_uint32le(int); [int].pack(PACK_FORMAT_UINT32LE); end
312
318
  def encode_int32le(int); [int].pack(PACK_FORMAT_INT32LE); end
313
319
  def encode_uint32be(int); [int].pack(PACK_FORMAT_UINT32BE); end # used in BIP32
@@ -212,6 +212,22 @@ describe BTC::WireFormat do
212
212
  verify_fixint(:uint32le, 0xdeadbeef, "efbeadde")
213
213
  verify_fixint(:uint32le, 0xffffffff, "ffffffff")
214
214
 
215
+ verify_fixint(:int32le, 0, "00000000")
216
+ verify_fixint(:int32le, 0x7f, "7f000000")
217
+ verify_fixint(:int32le, 0x80, "80000000")
218
+ verify_fixint(:int32le, 0xbeef, "efbe0000")
219
+ verify_fixint(:int32le, 0x7eadbeef, "efbead7e")
220
+ verify_fixint(:int32le, 0x7fffffff, "ffffff7f")
221
+ verify_fixint(:int32le, -1, "ffffffff")
222
+
223
+ verify_fixint(:int32be, 0, "00000000")
224
+ verify_fixint(:int32be, 0x7f, "0000007f")
225
+ verify_fixint(:int32be, 0x80, "00000080")
226
+ verify_fixint(:int32be, 0xbeef, "0000beef")
227
+ verify_fixint(:int32be, 0x7eadbeef, "7eadbeef")
228
+ verify_fixint(:int32be, 0x7fffffff, "7fffffff")
229
+ verify_fixint(:int32be, -1, "ffffffff")
230
+
215
231
  verify_fixint(:uint64le, 0, "0000000000000000")
216
232
  verify_fixint(:uint64le, 0x7f, "7f00000000000000")
217
233
  verify_fixint(:uint64le, 0x80, "8000000000000000")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: btcruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oleg Andreev
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-07-19 00:00:00.000000000 Z
12
+ date: 2015-07-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: ffi