Module: BSV::Wallet::Serializer::RevealCounterpartyKeyLinkage::Args

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

Overview

Args wire layout:

[privileged params]
[33 bytes: counterparty compressed pubkey]
[33 bytes: verifier compressed pubkey]

Class Method Summary collapse

Class Method Details

.deserialize(bytes) ⇒ Object



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/bsv/wallet/serializer/reveal_counterparty_key_linkage.rb', line 32

def deserialize(bytes)
  r = BSV::Wallet::Wire::Reader.new(bytes)
  privileged, reason = Common.read_privileged_params(r)
  counterparty = r.read_bytes(PUBKEY_SIZE)
  verifier     = r.read_bytes(PUBKEY_SIZE)
  {
    privileged: privileged,
    privileged_reason: reason,
    counterparty: counterparty,
    verifier: verifier
  }
end

.serialize(args) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/bsv/wallet/serializer/reveal_counterparty_key_linkage.rb', line 19

def serialize(args)
  counterparty = args[:counterparty]
  verifier     = args[:verifier]
  raise BSV::Wallet::InvalidParameterError.new('counterparty', 'a 33-byte binary pubkey or 66-char hex') unless counterparty
  raise BSV::Wallet::InvalidParameterError.new('verifier', 'a 33-byte binary pubkey or 66-char hex') unless verifier

  w = BSV::Wallet::Wire::Writer.new
  Common.write_privileged_params(w, args[:privileged], args[:privileged_reason])
  w.write_bytes(pubkey_bytes(counterparty))
  w.write_bytes(pubkey_bytes(verifier))
  w.buf
end