tapyrus 0.2.10 → 0.2.12
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/lib/tapyrus/bip175.rb +12 -1
- data/lib/tapyrus/rpc/request_handler.rb +23 -26
- data/lib/tapyrus/slip39/sss.rb +8 -15
- data/lib/tapyrus/tx_builder.rb +2 -0
- data/lib/tapyrus/version.rb +1 -1
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 9619b8bb901abe7085cedda9ca2ed29efb41281125bca6cfe2fd68facf7fc280
         | 
| 4 | 
            +
              data.tar.gz: a1f1d5544976189606b024ce064bdf794d01f646c4ae9b727ff278d071ddb4ce
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: '05187916624701c58d88d53bc78ddc576de97ddb1b5b3c5a9066093a57256bad53f8f86c2b126e74db36af4ae5a5ddfd3eb6f9a966672c48f45571e2c60aec61'
         | 
| 7 | 
            +
              data.tar.gz: db6dc58cc66b4a5e754a21a26738d37af025f81f8c3c1b29635218ec685636250a22d55bc9d953e62203289524fd89640bf5951fba245712c6ba8a2b2fb7673c
         | 
    
        data/lib/tapyrus/bip175.rb
    CHANGED
    
    | @@ -14,7 +14,7 @@ module Tapyrus | |
| 14 14 | 
             
              class BIP175
         | 
| 15 15 | 
             
                PURPOSE_TYPE = 175
         | 
| 16 16 |  | 
| 17 | 
            -
                attr_accessor :payment_base
         | 
| 17 | 
            +
                attr_accessor :master_ext_key, :payment_base
         | 
| 18 18 |  | 
| 19 19 | 
             
                def initialize
         | 
| 20 20 | 
             
                  @contracts = []
         | 
| @@ -25,6 +25,7 @@ module Tapyrus | |
| 25 25 | 
             
                  raise ArgumentError, 'key should be Tapyrus::ExtKey' unless key.is_a?(Tapyrus::ExtKey)
         | 
| 26 26 | 
             
                  raise ArgumentError, 'key should be master private extended key' unless key.master?
         | 
| 27 27 | 
             
                  new.tap do |bip175|
         | 
| 28 | 
            +
                    bip175.master_ext_key = key
         | 
| 28 29 | 
             
                    bip175.payment_base =
         | 
| 29 30 | 
             
                      key.derive(PURPOSE_TYPE, true).derive(Tapyrus.chain_params.bip44_coin_type, true).ext_pubkey
         | 
| 30 31 | 
             
                  end
         | 
| @@ -52,6 +53,16 @@ module Tapyrus | |
| 52 53 | 
             
                  Tapyrus.sha256(concatenated_hash)
         | 
| 53 54 | 
             
                end
         | 
| 54 55 |  | 
| 56 | 
            +
                # Return pay-to-contract extended private key
         | 
| 57 | 
            +
                # @return [Tapyrus::ExtKey] extended private key
         | 
| 58 | 
            +
                def priv_key
         | 
| 59 | 
            +
                  key = master_ext_key.derive(PURPOSE_TYPE, true).derive(Tapyrus.chain_params.bip44_coin_type, true)
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                  # Split every 2 bytes
         | 
| 62 | 
            +
                  paths = combined_hash.unpack('S>*')
         | 
| 63 | 
            +
                  paths.inject(key) { |key, p| key.derive(p) }
         | 
| 64 | 
            +
                end
         | 
| 65 | 
            +
             | 
| 55 66 | 
             
                # Return pay-to-contract extended public key
         | 
| 56 67 | 
             
                # @return [Tapyrus::ExtPubkey] extended public key
         | 
| 57 68 | 
             
                def pubkey
         | 
| @@ -47,32 +47,29 @@ module Tapyrus | |
| 47 47 |  | 
| 48 48 | 
             
                  # Returns connected peer information.
         | 
| 49 49 | 
             
                  def getpeerinfo
         | 
| 50 | 
            -
                    node
         | 
| 51 | 
            -
                      . | 
| 52 | 
            -
                       | 
| 53 | 
            -
             | 
| 54 | 
            -
                         | 
| 55 | 
            -
                         | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
                          best_height: peer.best_height
         | 
| 74 | 
            -
                        }
         | 
| 75 | 
            -
                      end
         | 
| 50 | 
            +
                    node.pool.peers.map do |peer|
         | 
| 51 | 
            +
                      local_addr = "#{peer.remote_version.remote_addr.ip}:18333"
         | 
| 52 | 
            +
                      {
         | 
| 53 | 
            +
                        id: peer.id,
         | 
| 54 | 
            +
                        addr: "#{peer.host}:#{peer.port}",
         | 
| 55 | 
            +
                        addrlocal: local_addr,
         | 
| 56 | 
            +
                        services: peer.remote_version.services.to_even_length_hex.rjust(16, '0'),
         | 
| 57 | 
            +
                        relaytxes: peer.remote_version.relay,
         | 
| 58 | 
            +
                        lastsend: peer.last_send,
         | 
| 59 | 
            +
                        lastrecv: peer.last_recv,
         | 
| 60 | 
            +
                        bytessent: peer.bytes_sent,
         | 
| 61 | 
            +
                        bytesrecv: peer.bytes_recv,
         | 
| 62 | 
            +
                        conntime: peer.conn_time,
         | 
| 63 | 
            +
                        pingtime: peer.ping_time,
         | 
| 64 | 
            +
                        minping: peer.min_ping,
         | 
| 65 | 
            +
                        version: peer.remote_version.version,
         | 
| 66 | 
            +
                        subver: peer.remote_version.user_agent,
         | 
| 67 | 
            +
                        inbound: !peer.outbound?,
         | 
| 68 | 
            +
                        startingheight: peer.remote_version.start_height,
         | 
| 69 | 
            +
                        best_hash: peer.best_hash,
         | 
| 70 | 
            +
                        best_height: peer.best_height
         | 
| 71 | 
            +
                      }
         | 
| 72 | 
            +
                    end
         | 
| 76 73 | 
             
                  end
         | 
| 77 74 |  | 
| 78 75 | 
             
                  # broadcast transaction
         | 
    
        data/lib/tapyrus/slip39/sss.rb
    CHANGED
    
    | @@ -212,14 +212,10 @@ module Tapyrus | |
| 212 212 | 
             
                    l, r = ems[0...(ems.length / 2)].htb, ems[(ems.length / 2)..-1].htb
         | 
| 213 213 | 
             
                    salt = get_salt(id)
         | 
| 214 214 | 
             
                    e = (Tapyrus::SLIP39::BASE_ITERATION_COUNT << exp) / Tapyrus::SLIP39::ROUND_COUNT
         | 
| 215 | 
            -
                    Tapyrus::SLIP39::ROUND_COUNT
         | 
| 216 | 
            -
                      . | 
| 217 | 
            -
                      . | 
| 218 | 
            -
             | 
| 219 | 
            -
                      .each do |i|
         | 
| 220 | 
            -
                        f = OpenSSL::PKCS5.pbkdf2_hmac((i.itb + passphrase), salt + r, e, r.bytesize, 'sha256')
         | 
| 221 | 
            -
                        l, r = padding_zero(r, r.bytesize), padding_zero((l.bti ^ f.bti).itb, r.bytesize)
         | 
| 222 | 
            -
                      end
         | 
| 215 | 
            +
                    Tapyrus::SLIP39::ROUND_COUNT.times.to_a.reverse.each do |i|
         | 
| 216 | 
            +
                      f = OpenSSL::PKCS5.pbkdf2_hmac((i.itb + passphrase), salt + r, e, r.bytesize, 'sha256')
         | 
| 217 | 
            +
                      l, r = padding_zero(r, r.bytesize), padding_zero((l.bti ^ f.bti).itb, r.bytesize)
         | 
| 218 | 
            +
                    end
         | 
| 223 219 | 
             
                    (r + l).bth
         | 
| 224 220 | 
             
                  end
         | 
| 225 221 |  | 
| @@ -234,13 +230,10 @@ module Tapyrus | |
| 234 230 | 
             
                    l, r = s[0...(s.bytesize / 2)], s[(s.bytesize / 2)..-1]
         | 
| 235 231 | 
             
                    salt = get_salt(id)
         | 
| 236 232 | 
             
                    e = (Tapyrus::SLIP39::BASE_ITERATION_COUNT << exp) / Tapyrus::SLIP39::ROUND_COUNT
         | 
| 237 | 
            -
                    Tapyrus::SLIP39::ROUND_COUNT
         | 
| 238 | 
            -
                      . | 
| 239 | 
            -
                      . | 
| 240 | 
            -
             | 
| 241 | 
            -
                        f = OpenSSL::PKCS5.pbkdf2_hmac((i.itb + passphrase), salt + r, e, r.bytesize, 'sha256')
         | 
| 242 | 
            -
                        l, r = padding_zero(r, r.bytesize), padding_zero((l.bti ^ f.bti).itb, r.bytesize)
         | 
| 243 | 
            -
                      end
         | 
| 233 | 
            +
                    Tapyrus::SLIP39::ROUND_COUNT.times.to_a.each do |i|
         | 
| 234 | 
            +
                      f = OpenSSL::PKCS5.pbkdf2_hmac((i.itb + passphrase), salt + r, e, r.bytesize, 'sha256')
         | 
| 235 | 
            +
                      l, r = padding_zero(r, r.bytesize), padding_zero((l.bti ^ f.bti).itb, r.bytesize)
         | 
| 236 | 
            +
                    end
         | 
| 244 237 | 
             
                    (r + l).bth
         | 
| 245 238 | 
             
                  end
         | 
| 246 239 |  | 
    
        data/lib/tapyrus/tx_builder.rb
    CHANGED
    
    
    
        data/lib/tapyrus/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: tapyrus
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.2. | 
| 4 | 
            +
              version: 0.2.12
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - azuchi
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-01-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: ecdsa
         |