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
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");
sequencer.print();
@ -42,7 +42,8 @@ fn main() {
&addresses[3],
8,
&mut sequencer,
);
)
.unwrap();
println!("🚀 Balances after shielded execution");
sequencer.print();
@ -53,7 +54,8 @@ fn main() {
&addresses[0],
1,
&mut sequencer,
);
)
.unwrap();
println!("🚀 Balances after deshielded execution");
sequencer.print();

View File

@ -22,7 +22,7 @@ impl MockedClient {
visibilities: &[InputVisibiility],
commitment_tree_root: [u32; 8],
sequencer: &mut MockedSequencer,
) -> Vec<Account> {
) -> Result<Vec<Account>, ()> {
let (receipt, private_outputs) = nssa::invoke_privacy_execution::<P>(
input_accounts,
instruction_data,
@ -31,9 +31,9 @@ impl MockedClient {
)
.unwrap();
// 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 {

View File

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