btcruby 1.2.2 → 1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/RELEASE_NOTES.md +7 -0
- data/lib/btcruby/script/script.rb +11 -5
- data/lib/btcruby/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ade4ab5ec4e048a83afbdf1d80da87d6cb78b65
|
4
|
+
data.tar.gz: df6796d9c48c3b71aad7916fec52a82bff17e09b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 115dcbaf2fdc9a208b317502767ece0935d5d186dca3ce8e59f666236b499f374044c307b800091f7eaf6e9759dd41daa68db7f06293b7e65de5a635f3558044
|
7
|
+
data.tar.gz: 795b12ce7b5d35aaa82b0c929facaf1532792f06cbe96727585649ec824009bea6f495a686f35f9626e1404d05b96026167bbe81ee6d3e0ae52bef9e677a0109
|
data/RELEASE_NOTES.md
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
BTCRuby Release Notes
|
3
3
|
=====================
|
4
4
|
|
5
|
+
1.3 (November 24, 2015)
|
6
|
+
-----------------------
|
7
|
+
|
8
|
+
* `BTC::Script#op_return_script?` now returns `true` for all scripts with first opcode `OP_RETURN`, including scripts with just that opcode or non-pushdata opcodes after it.
|
9
|
+
* `BTC::Script#op_return_data_only_script?` now returns `true` only if there is at least one pushdata chunk after `OP_RETURN` opcode and all subsequent opcodes are pushdata-only.
|
10
|
+
|
11
|
+
|
5
12
|
1.2.2 (November 12, 2015)
|
6
13
|
-----------------------
|
7
14
|
|
@@ -191,12 +191,18 @@ module BTC
|
|
191
191
|
# Returns true if this script is a 'OP_RETURN <data>' script and
|
192
192
|
# data size is within 40 bytes.
|
193
193
|
def standard_op_return_script?
|
194
|
-
retun false if !
|
194
|
+
retun false if !op_return_data_only_script? || @chunks.size != 2
|
195
195
|
@chunks[1].pushdata.bytesize <= 40
|
196
196
|
end
|
197
197
|
|
198
|
-
# Returns true if this script
|
198
|
+
# Returns true if this script's first opcode is OP_RETURN.
|
199
199
|
def op_return_script?
|
200
|
+
return @chunks.size >= 1 &&
|
201
|
+
@chunks[0].opcode == OP_RETURN
|
202
|
+
end
|
203
|
+
|
204
|
+
# Returns true if this script is of form 'OP_RETURN <data>'
|
205
|
+
def op_return_data_only_script?
|
200
206
|
return @chunks.size >= 2 &&
|
201
207
|
@chunks[0].opcode == OP_RETURN &&
|
202
208
|
@chunks[1..-1].all?{|c| c.pushdata? }
|
@@ -205,14 +211,14 @@ module BTC
|
|
205
211
|
# Returns first data chunk if this script is 'OP_RETURN <data>'.
|
206
212
|
# Otherwise returns nil.
|
207
213
|
def op_return_data
|
208
|
-
return nil if !
|
214
|
+
return nil if !op_return_data_only_script?
|
209
215
|
return @chunks[1].pushdata
|
210
216
|
end
|
211
217
|
|
212
218
|
# Returns all data chunks if this script is 'OP_RETURN <data> [<data>...]'
|
213
219
|
# Most commonly returned array contains one binary string.
|
214
220
|
def op_return_items
|
215
|
-
return nil if !
|
221
|
+
return nil if !op_return_data_only_script?
|
216
222
|
return @chunks[1, @chunks.size-1].map{|c| c.pushdata}
|
217
223
|
end
|
218
224
|
|
@@ -220,7 +226,7 @@ module BTC
|
|
220
226
|
# Only checks the prefix and minimal length, does not validate the content.
|
221
227
|
# Use this method to quickly filter out non-asset transactions.
|
222
228
|
def open_assets_marker?
|
223
|
-
return false if !
|
229
|
+
return false if !op_return_data_only_script?
|
224
230
|
data = op_return_data
|
225
231
|
return false if !data || data.bytesize < 6
|
226
232
|
if data[0, AssetMarker::PREFIX_V1.bytesize] == AssetMarker::PREFIX_V1
|
data/lib/btcruby/version.rb
CHANGED
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.
|
4
|
+
version: '1.3'
|
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-11-
|
12
|
+
date: 2015-11-24 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ffi
|