Module: BSV::Wallet::Serializer::Encrypt::Args
- Defined in:
- lib/bsv/wallet/serializer/encrypt.rb
Overview
Args wire layout:
[key-related params: protocol + key_id + counterparty + privileged]
[VarInt plaintext_len][plaintext bytes]
[optional_bool seek_permission]
Class Method Summary collapse
Class Method Details
.deserialize(bytes) ⇒ Object
34 35 36 37 38 39 40 41 |
# File 'lib/bsv/wallet/serializer/encrypt.rb', line 34 def deserialize(bytes) r = BSV::Wallet::Wire::Reader.new(bytes) params = Common.(r) len = r.read_varint plaintext = r.read_bytes(len) = r.read_optional_bool params.merge(plaintext: plaintext, seek_permission: ) end |
.serialize(args) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/bsv/wallet/serializer/encrypt.rb', line 17 def serialize(args) w = BSV::Wallet::Wire::Writer.new Common.( w, protocol_id: args[:protocol_id], key_id: args[:key_id], counterparty: args[:counterparty], privileged: args[:privileged], privileged_reason: args[:privileged_reason] ) plaintext = Common.to_binary(args[:plaintext]) w.write_varint(plaintext.bytesize) w.write_bytes(plaintext) w.write_optional_bool(args[:seek_permission]) w.buf end |