Module: BSV::Wallet::Serializer::DiscoverCertificatesResult
- Defined in:
- lib/bsv/wallet/serializer/discover_certificates_result.rb
Overview
Shared BRC-103 result codec for discover_by_identity_key and discover_by_attributes (both return the same shape).
Result wire layout:
[varint: total_certificates]
per certificate: [IdentityCertificate inline bytes (int-prefixed base cert + meta)]
Class Method Summary collapse
-
.deserialize(bytes) ⇒ Hash
{ total_certificates:, certificates: […] }.
-
.serialize(result) ⇒ String
Binary.
Class Method Details
.deserialize(bytes) ⇒ Hash
Returns { total_certificates:, certificates: […] }.
30 31 32 33 34 35 |
# File 'lib/bsv/wallet/serializer/discover_certificates_result.rb', line 30 def deserialize(bytes) r = Wire::Reader.new(bytes) total = r.read_varint certs = total.times.map { Certificate.deserialize_identity_certificate(r) } { total_certificates: total, certificates: certs } end |
.serialize(result) ⇒ String
Returns binary.
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/bsv/wallet/serializer/discover_certificates_result.rb', line 17 def serialize(result) certs = result[:certificates] || [] w = Wire::Writer.new w.write_varint(certs.length) certs.each do |cert| cert_bytes = Certificate.serialize_identity_certificate(cert) w.write_bytes(cert_bytes) end w.buf end |