btcruby 1.2.2 → 1.3
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 +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
         |