ringct: encode 8 byte amount, saving 24 bytes per output

Found by knaccc
This commit is contained in:
moneromooo-monero 2019-01-06 19:49:52 +00:00
parent cdc3ccec5f
commit 99d946e619
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
14 changed files with 93 additions and 34 deletions

View file

@ -455,7 +455,7 @@ bool gen_multisig_tx_validation_base::generate_with(std::vector<test_event_entry
crypto::secret_key scalar1;
crypto::derivation_to_scalar(derivation, n, scalar1);
rct::ecdhTuple ecdh_info = tx.rct_signatures.ecdhInfo[n];
rct::ecdhDecode(ecdh_info, rct::sk2rct(scalar1));
rct::ecdhDecode(ecdh_info, rct::sk2rct(scalar1), tx.rct_signatures.type == rct::RCTTypeBulletproof2);
rct::key C = tx.rct_signatures.outPk[n].mask;
rct::addKeys2(Ctmp, ecdh_info.mask, ecdh_info.amount, rct::H);
CHECK_AND_ASSERT_MES(rct::equalKeys(C, Ctmp), false, "Failed to decode amount");