pub struct TransactionContextBuilder { /* private fields */ }Expand description
TransactionContextBuilder is a utility to construct TransactionContext for testing purposes. It allows users to build accounts, create notes, provide advice inputs, and execute code. The VM process can be inspected afterward.
§Examples
Create a new account and execute code:
let tx_context = TransactionContextBuilder::with_standard_account(Felt::ONE).build();
let code = "
use.kernel::prologue
use.test::account
begin
exec.prologue::prepare_transaction
push.5
swap drop
end
";
let process = tx_context.execute_code(code).unwrap();
assert_eq!(process.stack.get(0), Felt::new(5),);Implementations§
Source§impl TransactionContextBuilder
impl TransactionContextBuilder
pub fn new(account: Account) -> Self
Sourcepub fn with_standard_account(nonce: Felt) -> Self
pub fn with_standard_account(nonce: Felt) -> Self
Initializes a TransactionContextBuilder with a mocked standard wallet.
Sourcepub fn with_fungible_faucet(
acct_id: u128,
nonce: Felt,
initial_balance: Felt,
) -> Self
pub fn with_fungible_faucet( acct_id: u128, nonce: Felt, initial_balance: Felt, ) -> Self
Initializes a TransactionContextBuilder with a mocked fungible faucet.
Sourcepub fn with_non_fungible_faucet(
acct_id: u128,
nonce: Felt,
empty_reserved_slot: bool,
) -> Self
pub fn with_non_fungible_faucet( acct_id: u128, nonce: Felt, empty_reserved_slot: bool, ) -> Self
Initializes a TransactionContextBuilder with a mocked non-fungible faucet.
Sourcepub fn account_seed(self, account_seed: Option<Word>) -> Self
pub fn account_seed(self, account_seed: Option<Word>) -> Self
Override and set the account seed manually
Sourcepub fn advice_inputs(self, advice_inputs: AdviceInputs) -> Self
pub fn advice_inputs(self, advice_inputs: AdviceInputs) -> Self
Override and set the AdviceInputs
Sourcepub fn authenticator(
self,
authenticator: Option<BasicAuthenticator<ChaCha20Rng>>,
) -> Self
pub fn authenticator( self, authenticator: Option<BasicAuthenticator<ChaCha20Rng>>, ) -> Self
Set the authenticator for the transaction (if needed)
Sourcepub fn foreign_accounts(self, inputs: Vec<AccountInputs>) -> Self
pub fn foreign_accounts(self, inputs: Vec<AccountInputs>) -> Self
Set foreign account codes that are used by the transaction
Sourcepub fn input_notes(self, input_notes: Vec<Note>) -> Self
pub fn input_notes(self, input_notes: Vec<Note>) -> Self
Extend the set of used input notes
Sourcepub fn tx_script(self, tx_script: TransactionScript) -> Self
pub fn tx_script(self, tx_script: TransactionScript) -> Self
Set the desired transaction script
Sourcepub fn tx_inputs(self, tx_inputs: TransactionInputs) -> Self
pub fn tx_inputs(self, tx_inputs: TransactionInputs) -> Self
Set the desired transaction inputs
Sourcepub fn expected_notes(self, output_notes: Vec<OutputNote>) -> Self
pub fn expected_notes(self, output_notes: Vec<OutputNote>) -> Self
Defines the expected output notes
Sourcepub fn with_mock_notes_too_few_input(self) -> Self
pub fn with_mock_notes_too_few_input(self) -> Self
Adds a set of input notes that output notes where inputs are smaller than needed and do not add up to match the output.
Sourcepub fn with_mock_notes_preserved(self) -> Self
pub fn with_mock_notes_preserved(self) -> Self
Adds a set of input notes that output notes in an asset-preserving manner.
pub fn with_mock_notes_preserved_with_account_vault_delta(self) -> Self
pub fn with_mock_notes_too_many_fungible_input(self) -> Self
pub fn with_mock_notes_too_many_non_fungible_input(self) -> Self
Sourcepub fn build(self) -> TransactionContext
pub fn build(self) -> TransactionContext
Builds the TransactionContext.
If no transaction inputs were provided manually, an ad-hoc MockChain is created in order to generate valid block data for the required notes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TransactionContextBuilder
impl !RefUnwindSafe for TransactionContextBuilder
impl !Send for TransactionContextBuilder
impl !Sync for TransactionContextBuilder
impl Unpin for TransactionContextBuilder
impl !UnwindSafe for TransactionContextBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<D> OwoColorize for D
impl<D> OwoColorize for D
Source§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
Source§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
Source§fn black(&self) -> FgColorDisplay<'_, Black, Self>
fn black(&self) -> FgColorDisplay<'_, Black, Self>
Source§fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
fn on_black(&self) -> BgColorDisplay<'_, Black, Self>
Source§fn red(&self) -> FgColorDisplay<'_, Red, Self>
fn red(&self) -> FgColorDisplay<'_, Red, Self>
Source§fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
fn on_red(&self) -> BgColorDisplay<'_, Red, Self>
Source§fn green(&self) -> FgColorDisplay<'_, Green, Self>
fn green(&self) -> FgColorDisplay<'_, Green, Self>
Source§fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
fn on_green(&self) -> BgColorDisplay<'_, Green, Self>
Source§fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>
Source§fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>
Source§fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
fn blue(&self) -> FgColorDisplay<'_, Blue, Self>
Source§fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>
Source§fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>
Source§fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>
Source§fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>
Source§fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>
Source§fn white(&self) -> FgColorDisplay<'_, White, Self>
fn white(&self) -> FgColorDisplay<'_, White, Self>
Source§fn on_white(&self) -> BgColorDisplay<'_, White, Self>
fn on_white(&self) -> BgColorDisplay<'_, White, Self>
Source§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
Source§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
Source§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
Source§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
Source§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
Source§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
Source§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
Source§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
Source§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
Source§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
Source§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
Source§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
Source§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
Source§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
Source§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
Source§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
Source§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
Source§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
Source§fn bold(&self) -> BoldDisplay<'_, Self>
fn bold(&self) -> BoldDisplay<'_, Self>
Source§fn dimmed(&self) -> DimDisplay<'_, Self>
fn dimmed(&self) -> DimDisplay<'_, Self>
Source§fn italic(&self) -> ItalicDisplay<'_, Self>
fn italic(&self) -> ItalicDisplay<'_, Self>
Source§fn underline(&self) -> UnderlineDisplay<'_, Self>
fn underline(&self) -> UnderlineDisplay<'_, Self>
Source§fn blink(&self) -> BlinkDisplay<'_, Self>
fn blink(&self) -> BlinkDisplay<'_, Self>
Source§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
Source§fn reversed(&self) -> ReversedDisplay<'_, Self>
fn reversed(&self) -> ReversedDisplay<'_, Self>
Source§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
Source§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg or
a color-specific method, such as OwoColorize::green, Read moreSource§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg or
a color-specific method, such as OwoColorize::on_yellow, Read more