Module: BSV::Wallet::Serializer::GetHeaderForHeight::Result

Defined in:
lib/bsv/wallet/serializer/get_header_for_height.rb

Class Method Summary collapse

Class Method Details

.deserialize(bytes) ⇒ Hash

Returns { header: String }.

Parameters:

  • bytes (String)

    binary

Returns:

  • (Hash)

    { header: String }

Raises:



56
57
58
59
60
61
62
63
64
65
66
# File 'lib/bsv/wallet/serializer/get_header_for_height.rb', line 56

def deserialize(bytes)
  data = bytes.b
  unless data.bytesize == HEADER_BYTES
    raise BSV::Wallet::InvalidParameterError.new(
      'get_header_for_height result',
      "exactly #{HEADER_BYTES} bytes, got #{data.bytesize}"
    )
  end

  { header: data }
end

.serialize(result) ⇒ String

Returns 80-byte binary.

Parameters:

  • result (Hash)

    { header: String } — 80-byte binary block header

Returns:

  • (String)

    80-byte binary

Raises:



41
42
43
44
45
46
47
48
49
50
51
# File 'lib/bsv/wallet/serializer/get_header_for_height.rb', line 41

def serialize(result)
  header = result[:header].to_s.b
  unless header.bytesize == HEADER_BYTES
    raise BSV::Wallet::InvalidParameterError.new(
      'get_header_for_height result header',
      "exactly #{HEADER_BYTES} bytes, got #{header.bytesize}"
    )
  end

  header
end