More debugging

This commit is contained in:
Thomas Eizinger 2021-05-07 14:53:32 +10:00
parent 2b581d0122
commit ce3134c86a
No known key found for this signature in database
GPG Key ID: 651AC83A6C6C8B96
2 changed files with 17 additions and 6 deletions

View File

@ -9,7 +9,7 @@ use curve25519_dalek::scalar::Scalar;
use hash_edwards_to_edwards::hash_point_to_point; use hash_edwards_to_edwards::hash_point_to_point;
use monero::blockdata::transaction::{ExtraField, SubField, TxOutTarget}; use monero::blockdata::transaction::{ExtraField, SubField, TxOutTarget};
use monero::cryptonote::hash::Hashable; use monero::cryptonote::hash::Hashable;
use monero::cryptonote::onetime_key::KeyGenerator; use monero::cryptonote::onetime_key::{KeyGenerator, MONERO_MUL_FACTOR};
use monero::util::ringct::{EcdhInfo, RctSig, RctSigBase, RctSigPrunable, RctType}; use monero::util::ringct::{EcdhInfo, RctSig, RctSigBase, RctSigPrunable, RctType};
use monero::{PrivateKey, PublicKey}; use monero::{PrivateKey, PublicKey};
use monero::{Transaction, TransactionPrefix, TxIn, TxOut, VarInt}; use monero::{Transaction, TransactionPrefix, TxIn, TxOut, VarInt};
@ -45,7 +45,7 @@ async fn monerod_integration_test() {
}; };
let lock_amount = 1_000_000_000_000; let lock_amount = 1_000_000_000_000;
let fee = 10_000; let fee = 400_000_000;
let spend_amount = lock_amount - fee; let spend_amount = lock_amount - fee;
let lock_address = monero::Address::from_keypair(monero::Network::Mainnet, &lock_kp); let lock_address = monero::Address::from_keypair(monero::Network::Mainnet, &lock_kp);
@ -60,6 +60,8 @@ async fn monerod_integration_test() {
let transaction = client.get_transactions(&[lock_tx]).await.unwrap().pop().unwrap(); let transaction = client.get_transactions(&[lock_tx]).await.unwrap().pop().unwrap();
dbg!(&transaction.prefix.inputs);
let viewpair = ViewPair::from(&lock_kp); let viewpair = ViewPair::from(&lock_kp);
let our_output = transaction.check_outputs(&viewpair, 0..1, 0..1).expect("to have outputs in this transaction").pop().expect("to own at least one output"); let our_output = transaction.check_outputs(&viewpair, 0..1, 0..1).expect("to have outputs in this transaction").pop().expect("to own at least one output");
@ -99,6 +101,9 @@ async fn monerod_integration_test() {
) )
.await .await
.unwrap(); .unwrap();
dbg!(&response);
let ring = response let ring = response
.outs .outs
.iter() .iter()
@ -111,6 +116,8 @@ async fn monerod_integration_test() {
let relative_key_offsets = to_relative_offsets(&key_offsets); let relative_key_offsets = to_relative_offsets(&key_offsets);
dbg!(&relative_key_offsets);
let target_address = "498AVruCDWgP9Az9LjMm89VWjrBrSZ2W2K3HFBiyzzrRjUJWUcCVxvY1iitfuKoek2FdX6MKGAD9Qb1G1P8QgR5jPmmt3Vj".parse::<monero::Address>().unwrap(); let target_address = "498AVruCDWgP9Az9LjMm89VWjrBrSZ2W2K3HFBiyzzrRjUJWUcCVxvY1iitfuKoek2FdX6MKGAD9Qb1G1P8QgR5jPmmt3Vj".parse::<monero::Address>().unwrap();
let ecdh_key = PrivateKey::random(&mut rng); let ecdh_key = PrivateKey::random(&mut rng);
@ -151,6 +158,8 @@ async fn monerod_integration_test() {
))]), ))]),
}; };
assert_eq!(prefix.hash(), "8e39c037fdc8ada919abfa0c535c07222cc5162d17872673bd7bcb83cc630ca7".parse().unwrap());
let (adaptor_sig, adaptor) = let (adaptor_sig, adaptor) =
single_party_adaptor_sig(s_prime_a, s_b, ring, &prefix.hash().to_bytes()); single_party_adaptor_sig(s_prime_a, s_b, ring, &prefix.hash().to_bytes());
@ -162,12 +171,14 @@ async fn monerod_integration_test() {
// (out_blinding * ED25519_BASEPOINT_POINT) + (lock_amount * H.point.decompress().unwrap()) // (out_blinding * ED25519_BASEPOINT_POINT) + (lock_amount * H.point.decompress().unwrap())
// }; // };
monero::verify_bulletproof(&mut thread_rng(), bulletproof.clone(), out_pk.clone()).unwrap();
let out_pk = out_pk.into_iter().map(|p| (p.decompress().unwrap() * Scalar::from(MONERO_MUL_FACTOR)).compress()).collect::<Vec<_>>();
let fee_key = Scalar::from(fee) * H.point.decompress().unwrap(); let fee_key = Scalar::from(fee) * H.point.decompress().unwrap();
let pseudo_out = fee_key + out_pk[0].decompress().unwrap(); let pseudo_out = fee_key + out_pk[0].decompress().unwrap();
monero::verify_bulletproof(&mut thread_rng(), bulletproof.clone(), out_pk.clone()).unwrap();
let out_pk = out_pk let out_pk = out_pk
.iter() .iter()
.map(|c| monero::util::ringct::CtKey { .map(|c| monero::util::ringct::CtKey {

View File

@ -61,9 +61,9 @@ impl MonerodClientExt for monerod::Client {
.into_iter() .into_iter()
.max() .max()
.context("Expected at least one output index")?; .context("Expected at least one output index")?;
let oldest_index = last_index - (last_index / 100) * 40; // oldest index must be within last 40% TODO: CONFIRM THIS // let oldest_index = last_index - (last_index / 100) * 40; // oldest index must be within last 40% TODO: CONFIRM THIS
Ok((VarInt(oldest_index), VarInt(last_index))) Ok((VarInt(0), VarInt(last_index)))
} }
} }