lib/tapyrus/tx.rb in tapyrus-0.3.4 vs lib/tapyrus/tx.rb in tapyrus-0.3.5

- old
+ new

@@ -27,20 +27,20 @@ alias_method :out, :outputs def self.parse_from_payload(payload) buf = payload.is_a?(String) ? StringIO.new(payload) : payload tx = new - tx.features = buf.read(4).unpack('V').first + tx.features = buf.read(4).unpack("V").first in_count = Tapyrus.unpack_var_int_from_io(buf) in_count.times { tx.inputs << TxIn.parse_from_payload(buf) } out_count = Tapyrus.unpack_var_int_from_io(buf) out_count.times { tx.outputs << TxOut.parse_from_payload(buf) } - tx.lock_time = buf.read(4).unpack('V').first + tx.lock_time = buf.read(4).unpack("V").first tx end def hash @@ -50,22 +50,22 @@ def tx_hash Tapyrus.double_sha256(to_payload).bth end def txid - buf = [features].pack('V') + buf = [features].pack("V") buf << Tapyrus.pack_var_int(inputs.length) << inputs.map { |i| i.to_payload(use_malfix: true) }.join buf << Tapyrus.pack_var_int(outputs.length) << outputs.map(&:to_payload).join - buf << [lock_time].pack('V') + buf << [lock_time].pack("V") Tapyrus.double_sha256(buf).reverse.bth end def to_payload - buf = [features].pack('V') + buf = [features].pack("V") buf << Tapyrus.pack_var_int(inputs.length) << inputs.map(&:to_payload).join buf << Tapyrus.pack_var_int(outputs.length) << outputs.map(&:to_payload).join - buf << [lock_time].pack('V') + buf << [lock_time].pack("V") buf end def coinbase_tx? inputs.length == 1 && inputs.first.coinbase? @@ -107,13 +107,13 @@ # @param [Integer] input_index input index. # @param [Integer] hash_type signature hash type # @param [Tapyrus::Script] output_script script pubkey or script code. if script pubkey is P2SH, set redeem script to this. # @return [String] sighash def sighash_for_input(input_index, output_script, hash_type: SIGHASH_TYPE[:all]) - raise ArgumentError, 'input_index must be specified.' unless input_index - raise ArgumentError, 'does not exist input corresponding to input_index.' if input_index >= inputs.size - raise ArgumentError, 'script_pubkey must be specified.' unless output_script + raise ArgumentError, "input_index must be specified." unless input_index + raise ArgumentError, "does not exist input corresponding to input_index." if input_index >= inputs.size + raise ArgumentError, "script_pubkey must be specified." unless output_script sighash_for_legacy(input_index, output_script, hash_type) end # verify input signature. # @param [Integer] input_index @@ -165,11 +165,11 @@ outs = outputs.map(&:to_payload) out_size = Tapyrus.pack_var_int(outputs.size) case hash_type & 0x1f when SIGHASH_TYPE[:none] - outs = '' + outs = "" out_size = Tapyrus.pack_var_int(0) when SIGHASH_TYPE[:single] return "\x01".ljust(32, "\x00") if index >= outputs.size outs = outputs[0...(index + 1)].map.with_index { |o, idx| (idx == index) ? o.to_payload : o.to_empty_payload }.join @@ -177,15 +177,15 @@ end ins = [ins[index]] if hash_type & SIGHASH_TYPE[:anyonecanpay] != 0 buf = [ - [features].pack('V'), + [features].pack("V"), Tapyrus.pack_var_int(ins.size), ins, out_size, outs, - [lock_time, hash_type].pack('VV') + [lock_time, hash_type].pack("VV") ].join Tapyrus.double_sha256(buf) end