Module: BSV::Wallet::Serializer::RelinquishOutput
- Defined in:
- lib/bsv/wallet/serializer/relinquish_output.rb
Overview
BRC-103 wire codec for the relinquish_output call (call byte 7).
Args wire layout:
[varint-str: basket]
[32-byte wire txid][varint vout]
Result wire layout:
[empty — relinquished is implicit from the frame error byte]
Class Method Summary collapse
- .deserialize_args(bytes) ⇒ Object
- .deserialize_result(_bytes) ⇒ Object
- .serialize_args(args) ⇒ Object
- .serialize_result(_result) ⇒ Object
Class Method Details
.deserialize_args(bytes) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/bsv/wallet/serializer/relinquish_output.rb', line 26 def deserialize_args(bytes) r = Wire::Reader.new(bytes) basket = r.read_str_with_varint_len outpoint_data = r.read_outpoint output = "#{outpoint_data[:txid_hex]}.#{outpoint_data[:vout]}" { basket: basket, output: output } end |
.deserialize_result(_bytes) ⇒ Object
38 39 40 |
# File 'lib/bsv/wallet/serializer/relinquish_output.rb', line 38 def deserialize_result(_bytes) { relinquished: true } end |
.serialize_args(args) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/bsv/wallet/serializer/relinquish_output.rb', line 17 def serialize_args(args) Wire::Validation.outpoint_string!('output', args[:output].to_s) txid_hex, vout = args[:output].to_s.split('.', 2) w = Wire::Writer.new w.write_str_with_varint_len(args.fetch(:basket, '')) w.write_outpoint(txid_hex, vout.to_i) w.buf end |
.serialize_result(_result) ⇒ Object
34 35 36 |
# File 'lib/bsv/wallet/serializer/relinquish_output.rb', line 34 def serialize_result(_result) ''.b end |