This commit is contained in:
Sergio Chouhy 2025-08-11 20:38:29 -03:00
parent 5bc1c9c688
commit a5d0c27d6b
5 changed files with 18 additions and 16 deletions

View File

@ -37,9 +37,12 @@ impl AddressKeyHolder {
let nullifer_public_key = utxo_secret_key_holder.generate_nullifier_public_key();
let viewing_public_key = utxo_secret_key_holder.generate_viewing_public_key();
let pub_account_signing_key = {
let mut rng = OsRng;
nssa::PrivateKey::new(rng.gen())
let mut rng = OsRng;
let pub_account_signing_key = loop {
match nssa::PrivateKey::try_new(rng.gen()) {
Ok(key) => break key,
Err(_) => continue,
}
};
Self {
@ -330,9 +333,12 @@ mod tests {
let nullifer_public_key = utxo_secret_key_holder.generate_nullifier_public_key();
let viewing_public_key = utxo_secret_key_holder.generate_viewing_public_key();
let pub_account_signing_key = {
let mut rng = OsRng;
nssa::PrivateKey::new(rng.gen())
let mut rng = OsRng;
let pub_account_signing_key = loop {
match nssa::PrivateKey::try_new(rng.gen()) {
Ok(key) => break key,
Err(_) => continue,
}
};
let public_key = nssa::PublicKey::new(&pub_account_signing_key);

View File

@ -37,7 +37,7 @@ pub fn produce_dummy_empty_transaction() -> nssa::PublicTransaction {
let instruction_data = 0;
let message =
nssa::public_transaction::Message::try_new(program_id, addresses, nonces, instruction_data).unwrap();
let private_key = nssa::PrivateKey::new(1);
let private_key = nssa::PrivateKey::try_new([1; 32]).unwrap();
let witness_set = nssa::public_transaction::WitnessSet::for_message(&message, &[&private_key]);
nssa::PublicTransaction::new(message, witness_set)
}

View File

@ -19,7 +19,7 @@ impl WitnessSet {
}
}
pub(crate) fn is_valid_for(&self, message: &Message) -> bool {
pub fn is_valid_for(&self, message: &Message) -> bool {
let message_bytes = message.message_to_bytes();
for (signature, public_key) in self.iter_signatures() {
if !signature.is_valid_for(&message_bytes, &public_key) {

View File

@ -62,11 +62,7 @@ impl SequencerCore {
tx: nssa::PublicTransaction,
) -> Result<nssa::PublicTransaction, TransactionMalformationErrorKind> {
// Stateless checks here
if tx
.witness_set()
.iter_signatures()
.all(|(signature, public_key)| signature.is_valid_for(tx.message(), public_key))
{
if tx.witness_set().is_valid_for(tx.message()) {
Ok(tx)
} else {
Err(TransactionMalformationErrorKind::InvalidSignature)
@ -188,11 +184,11 @@ mod tests {
}
fn create_signing_key_for_account1() -> nssa::PrivateKey {
nssa::PrivateKey::new(1)
nssa::PrivateKey::try_new([1; 32]).unwrap()
}
fn create_signing_key_for_account2() -> nssa::PrivateKey {
nssa::PrivateKey::new(2)
nssa::PrivateKey::try_new([2; 32]).unwrap()
}
fn common_setup(sequencer: &mut SequencerCore) {

View File

@ -261,7 +261,7 @@ mod tests {
let mut sequencer_core = SequencerCore::start_from_config(config);
let initial_accounts = sequencer_core.sequencer_config.initial_accounts.clone();
let signing_key = nssa::PrivateKey::new(1);
let signing_key = nssa::PrivateKey::try_new([1; 32]).unwrap();
let balance_to_move = 10;
let tx = common::test_utils::create_transaction_native_token_transfer(
[1; 32],