propagate errors

This commit is contained in:
Sergio Chouhy 2025-07-18 11:19:08 -03:00
parent c02a804404
commit 097bf54782
6 changed files with 28 additions and 15 deletions

View File

@ -31,7 +31,7 @@ fn main() {
// A shielded execution of the Transfer Program // A shielded execution of the Transfer Program
let private_account_2 = let private_account_2 =
MockedClient::transfer_shielded(&addresses[1], &addresses[2], 15, &mut sequencer); MockedClient::transfer_shielded(&addresses[1], &addresses[2], 15, &mut sequencer).unwrap();
println!("Balances after shielded execution"); println!("Balances after shielded execution");
sequencer.print(); sequencer.print();
@ -42,7 +42,8 @@ fn main() {
&addresses[3], &addresses[3],
8, 8,
&mut sequencer, &mut sequencer,
); )
.unwrap();
println!("🚀 Balances after shielded execution"); println!("🚀 Balances after shielded execution");
sequencer.print(); sequencer.print();
@ -53,7 +54,8 @@ fn main() {
&addresses[0], &addresses[0],
1, 1,
&mut sequencer, &mut sequencer,
); )
.unwrap();
println!("🚀 Balances after deshielded execution"); println!("🚀 Balances after deshielded execution");
sequencer.print(); sequencer.print();

View File

@ -22,7 +22,7 @@ impl MockedClient {
visibilities: &[InputVisibiility], visibilities: &[InputVisibiility],
commitment_tree_root: [u32; 8], commitment_tree_root: [u32; 8],
sequencer: &mut MockedSequencer, sequencer: &mut MockedSequencer,
) -> Vec<Account> { ) -> Result<Vec<Account>, ()> {
let (receipt, private_outputs) = nssa::invoke_privacy_execution::<P>( let (receipt, private_outputs) = nssa::invoke_privacy_execution::<P>(
input_accounts, input_accounts,
instruction_data, instruction_data,
@ -31,9 +31,9 @@ impl MockedClient {
) )
.unwrap(); .unwrap();
// Send to te sequencer // Send to te sequencer
sequencer.process_privacy_execution(receipt).unwrap(); sequencer.process_privacy_execution(receipt)?;
private_outputs Ok(private_outputs)
} }
pub fn fresh_account_for_mint(address: Address) -> Account { pub fn fresh_account_for_mint(address: Address) -> Account {

View File

@ -13,7 +13,7 @@ impl MockedClient {
to_address: &Address, to_address: &Address,
balance_to_move: u128, balance_to_move: u128,
sequencer: &mut MockedSequencer, sequencer: &mut MockedSequencer,
) -> Account { ) -> Result<Account, ()> {
// All of this is executed locally by the sender // All of this is executed locally by the sender
let sender_account = sequencer.get_account(&from_address).unwrap(); let sender_account = sequencer.get_account(&from_address).unwrap();
let commitment_tree_root = sequencer.get_commitment_tree_root(); let commitment_tree_root = sequencer.get_commitment_tree_root();
@ -27,9 +27,8 @@ impl MockedClient {
&visibilities, &visibilities,
commitment_tree_root, commitment_tree_root,
sequencer, sequencer,
); )?;
let [receiver_private_account] = private_outputs.try_into().unwrap(); let [receiver_private_account] = private_outputs.try_into().unwrap();
receiver_private_account Ok(receiver_private_account)
} }
} }

View File

@ -14,7 +14,7 @@ impl MockedClient {
to_address: &Address, to_address: &Address,
balance_to_move: u128, balance_to_move: u128,
sequencer: &mut MockedSequencer, sequencer: &mut MockedSequencer,
) -> [Account; 2] { ) -> Result<[Account; 2], ()> {
// All of this is executed locally by the sender // All of this is executed locally by the sender
let commitment_tree_root = sequencer.get_commitment_tree_root(); let commitment_tree_root = sequencer.get_commitment_tree_root();
let receiver_addr = to_address; let receiver_addr = to_address;
@ -32,8 +32,8 @@ impl MockedClient {
&visibilities, &visibilities,
commitment_tree_root, commitment_tree_root,
sequencer, sequencer,
); )?;
private_outputs.try_into().unwrap() Ok(private_outputs.try_into().unwrap())
} }
} }

View File

@ -0,0 +1,11 @@
use core::types::Address;
use crate::mocked_components::client::MockedClient;
impl MockedClient {
fn transfer_public(receiver_address: &Address, amount_to_transfer: u128) -> Result<(), ()> {
todo!()
}
}

View File

@ -13,7 +13,7 @@ impl MockedClient {
to_address: &Address, to_address: &Address,
balance_to_move: u128, balance_to_move: u128,
sequencer: &mut MockedSequencer, sequencer: &mut MockedSequencer,
) { ) -> Result<(), ()> {
// All of this is executed locally by the sender // All of this is executed locally by the sender
let commitment_tree_root = sequencer.get_commitment_tree_root(); let commitment_tree_root = sequencer.get_commitment_tree_root();
let receiver_addr = to_address; let receiver_addr = to_address;
@ -30,6 +30,7 @@ impl MockedClient {
&visibilities, &visibilities,
commitment_tree_root, commitment_tree_root,
sequencer, sequencer,
); )?;
Ok(())
} }
} }