Sync rest of repo with monero-serai changes

This commit is contained in:
Luke Parker
2024-07-01 18:48:10 -04:00
parent 69e077bf7a
commit 06246618ab
10 changed files with 140 additions and 124 deletions

View File

@@ -1,7 +1,5 @@
use zeroize::{Zeroize, Zeroizing};
use curve25519_dalek::Scalar;
use monero_wallet::{
primitives::Decoys,
ringct::RctType,
@@ -16,7 +14,7 @@ use monero_wallet::{
#[derive(Clone, PartialEq, Eq, Zeroize, Debug)]
pub struct SignableTransactionBuilder {
rct_type: RctType,
sender_view_key: Zeroizing<Scalar>,
outgoing_view_key: Zeroizing<[u8; 32]>,
inputs: Vec<(SpendableOutput, Decoys)>,
payments: Vec<(MoneroAddress, u64)>,
change: Change,
@@ -27,13 +25,13 @@ pub struct SignableTransactionBuilder {
impl SignableTransactionBuilder {
pub fn new(
rct_type: RctType,
sender_view_key: Zeroizing<Scalar>,
outgoing_view_key: Zeroizing<[u8; 32]>,
change: Change,
fee_rate: FeeRate,
) -> Self {
Self {
rct_type,
sender_view_key,
outgoing_view_key,
inputs: vec![],
payments: vec![],
change,
@@ -74,7 +72,7 @@ impl SignableTransactionBuilder {
pub fn build(self) -> Result<SignableTransaction, SendError> {
SignableTransaction::new(
self.rct_type,
self.sender_view_key,
self.outgoing_view_key,
self.inputs,
self.payments,
self.change,

View File

@@ -169,7 +169,7 @@ macro_rules! test {
use std::collections::HashMap;
use zeroize::Zeroizing;
use rand_core::OsRng;
use rand_core::{RngCore, OsRng};
use curve25519_dalek::{constants::ED25519_BASEPOINT_TABLE, scalar::Scalar};
@@ -223,6 +223,8 @@ macro_rules! test {
let rpc = rpc().await;
let view_priv = Zeroizing::new(Scalar::random(&mut OsRng));
let mut outgoing_view = Zeroizing::new([0; 32]);
OsRng.fill_bytes(outgoing_view.as_mut());
let view = ViewPair::new(spend_pub, view_priv.clone());
let addr = view.address(Network::Mainnet, AddressSpec::Legacy);
@@ -236,7 +238,7 @@ macro_rules! test {
let builder = SignableTransactionBuilder::new(
rct_type,
view_priv,
outgoing_view,
Change::new(
&ViewPair::new(
&Scalar::random(&mut OsRng) * ED25519_BASEPOINT_TABLE,

View File

@@ -1,5 +1,3 @@
use rand_core::RngCore;
use monero_serai::transaction::Transaction;
use monero_wallet::{rpc::Rpc, address::SubaddressIndex, extra::PaymentId};

View File

@@ -107,12 +107,14 @@ test!(
use monero_wallet::rpc::FeePriority;
let view_priv = Zeroizing::new(Scalar::random(&mut OsRng));
let mut outgoing_view = Zeroizing::new([0; 32]);
OsRng.fill_bytes(outgoing_view.as_mut());
let change_view =
ViewPair::new(&Scalar::random(&mut OsRng) * ED25519_BASEPOINT_TABLE, view_priv.clone());
let mut builder = SignableTransactionBuilder::new(
rct_type,
view_priv,
outgoing_view,
Change::new(&change_view, false),
rpc.get_fee_rate(FeePriority::Unimportant).await.unwrap(),
);
@@ -295,9 +297,11 @@ test!(
|rct_type, rpc: SimpleRequestRpc, _, addr, outputs: Vec<ReceivedOutput>| async move {
use monero_wallet::rpc::FeePriority;
let mut outgoing_view = Zeroizing::new([0; 32]);
OsRng.fill_bytes(outgoing_view.as_mut());
let mut builder = SignableTransactionBuilder::new(
rct_type,
Zeroizing::new(Scalar::random(&mut OsRng)),
outgoing_view,
Change::fingerprintable(None),
rpc.get_fee_rate(FeePriority::Unimportant).await.unwrap(),
);