desprout
This commit is contained in:
@@ -92,57 +92,6 @@ boost::optional<uint256> SaplingNote::nullifier(const SaplingFullViewingKey& vk,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
SproutNotePlaintext::SproutNotePlaintext(
|
|
||||||
const SproutNote& note,
|
|
||||||
std::array<unsigned char, ZC_MEMO_SIZE> memo) : BaseNotePlaintext(note, memo)
|
|
||||||
{
|
|
||||||
rho = note.rho;
|
|
||||||
r = note.r;
|
|
||||||
}
|
|
||||||
|
|
||||||
SproutNote SproutNotePlaintext::note(const SproutPaymentAddress& addr) const
|
|
||||||
{
|
|
||||||
return SproutNote(addr.a_pk, value_, rho, r);
|
|
||||||
}
|
|
||||||
|
|
||||||
SproutNotePlaintext SproutNotePlaintext::decrypt(const ZCNoteDecryption& decryptor,
|
|
||||||
const ZCNoteDecryption::Ciphertext& ciphertext,
|
|
||||||
const uint256& ephemeralKey,
|
|
||||||
const uint256& h_sig,
|
|
||||||
unsigned char nonce
|
|
||||||
)
|
|
||||||
{
|
|
||||||
auto plaintext = decryptor.decrypt(ciphertext, ephemeralKey, h_sig, nonce);
|
|
||||||
|
|
||||||
CDataStream ss(SER_NETWORK, PROTOCOL_VERSION);
|
|
||||||
ss << plaintext;
|
|
||||||
|
|
||||||
SproutNotePlaintext ret;
|
|
||||||
ss >> ret;
|
|
||||||
|
|
||||||
assert(ss.size() == 0);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
ZCNoteEncryption::Ciphertext SproutNotePlaintext::encrypt(ZCNoteEncryption& encryptor,
|
|
||||||
const uint256& pk_enc
|
|
||||||
) const
|
|
||||||
{
|
|
||||||
CDataStream ss(SER_NETWORK, PROTOCOL_VERSION);
|
|
||||||
ss << (*this);
|
|
||||||
|
|
||||||
ZCNoteEncryption::Plaintext pt;
|
|
||||||
|
|
||||||
assert(pt.size() == ss.size());
|
|
||||||
|
|
||||||
memcpy(&pt[0], &ss[0], pt.size());
|
|
||||||
|
|
||||||
return encryptor.encrypt(pk_enc, pt);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Construct and populate SaplingNotePlaintext for a given note and memo.
|
// Construct and populate SaplingNotePlaintext for a given note and memo.
|
||||||
SaplingNotePlaintext::SaplingNotePlaintext(
|
SaplingNotePlaintext::SaplingNotePlaintext(
|
||||||
const SaplingNote& note,
|
const SaplingNote& note,
|
||||||
|
|||||||
Reference in New Issue
Block a user