pub struct TransactionRequestBuilder { /* private fields */ }Expand description
A builder for a TransactionRequest.
Use this builder to construct a TransactionRequest by adding input notes, specifying
scripts, and setting other transaction parameters.
Implementations§
Source§impl TransactionRequestBuilder
impl TransactionRequestBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new, empty TransactionRequestBuilder.
Sourcepub fn input_notes(
self,
notes: impl IntoIterator<Item = (Note, Option<NoteArgs>)>,
) -> Self
pub fn input_notes( self, notes: impl IntoIterator<Item = (Note, Option<NoteArgs>)>, ) -> Self
Adds the specified notes as input notes to the transaction request.
Sourcepub fn own_output_notes(
self,
notes: impl IntoIterator<Item = OutputNote>,
) -> Self
pub fn own_output_notes( self, notes: impl IntoIterator<Item = OutputNote>, ) -> Self
Specifies the output notes that should be created in the transaction script and will be used as a transaction script template. These notes will also be added to the expected output recipients of the transaction.
If a transaction script template is already set (e.g. by calling with_custom_script), the
TransactionRequestBuilder::build method will return an error.
Sourcepub fn custom_script(self, script: TransactionScript) -> Self
pub fn custom_script(self, script: TransactionScript) -> Self
Specifies a custom transaction script to be used.
If a script template is already set (e.g. by calling with_own_output_notes), the
TransactionRequestBuilder::build method will return an error.
Sourcepub fn foreign_accounts(
self,
foreign_accounts: impl IntoIterator<Item = impl Into<ForeignAccount>>,
) -> Self
pub fn foreign_accounts( self, foreign_accounts: impl IntoIterator<Item = impl Into<ForeignAccount>>, ) -> Self
Specifies one or more foreign accounts (public or private) that contain data utilized by the transaction.
At execution, the client queries the node and retrieves the appropriate data, depending on whether each foreign account is public or private:
- Public accounts: the node retrieves the state and code for the account and injects them as advice inputs.
- Private accounts: the node retrieves a proof of the account’s existence and injects that as advice inputs.
Sourcepub fn expected_output_recipients(self, recipients: Vec<NoteRecipient>) -> Self
pub fn expected_output_recipients(self, recipients: Vec<NoteRecipient>) -> Self
Specifies a transaction’s expected output note recipients.
The set of specified recipients is treated as a subset of the recipients for notes that may be created by a transaction. That is, the transaction must create notes for all the specified expected recipients, but it may also create notes for other recipients not included in this set.
Sourcepub fn expected_future_notes(self, notes: Vec<(NoteDetails, NoteTag)>) -> Self
pub fn expected_future_notes(self, notes: Vec<(NoteDetails, NoteTag)>) -> Self
Specifies a set of notes which may be created when a transaction’s output notes are consumed.
For example, after a SWAP note is consumed, a payback note is expected to be created. This allows the client to track this note accordingly.
Sourcepub fn extend_advice_map<I, V>(self, iter: I) -> Self
pub fn extend_advice_map<I, V>(self, iter: I) -> Self
Extends the advice map with the specified ([Word], Vec<[Felt]>) pairs.
Sourcepub fn extend_merkle_store<T: IntoIterator<Item = InnerNodeInfo>>(
self,
iter: T,
) -> Self
pub fn extend_merkle_store<T: IntoIterator<Item = InnerNodeInfo>>( self, iter: T, ) -> Self
Extends the merkle store with the specified InnerNodeInfo elements.
Sourcepub fn expiration_delta(self, expiration_delta: u16) -> Self
pub fn expiration_delta(self, expiration_delta: u16) -> Self
The number of blocks in relation to the transaction’s reference block after which the transaction will expire. By default, the transaction will not expire.
Setting transaction expiration delta defines an upper bound for transaction expiration, but other code executed during the transaction may impose an even smaller transaction expiration delta.
Sourcepub fn ignore_invalid_input_notes(self) -> Self
pub fn ignore_invalid_input_notes(self) -> Self
The resulting transaction will silently ignore invalid input notes when being executed. By default, this will not happen.
Sourcepub fn script_arg(self, script_arg: Word) -> Self
pub fn script_arg(self, script_arg: Word) -> Self
Sets an optional Word that will be pushed to the operand stack before the transaction
script execution. If the advice map is extended with some user defined entries, this script
argument could be used as a key to access the corresponding value.
Sourcepub fn auth_arg(self, auth_arg: Word) -> Self
pub fn auth_arg(self, auth_arg: Word) -> Self
Sets an optional Word that will be pushed to the stack for the authentication
procedure during transaction execution.
Sourcepub fn build_consume_notes(
self,
notes: Vec<Note>,
) -> Result<TransactionRequest, TransactionRequestError>
pub fn build_consume_notes( self, notes: Vec<Note>, ) -> Result<TransactionRequest, TransactionRequestError>
Consumes the builder and returns a TransactionRequest for a transaction to consume the
specified notes.
notesis a list of notes to be consumed.
Sourcepub fn build_mint_fungible_asset(
self,
asset: FungibleAsset,
target_id: AccountId,
note_type: NoteType,
rng: &mut ClientRng,
) -> Result<TransactionRequest, TransactionRequestError>
pub fn build_mint_fungible_asset( self, asset: FungibleAsset, target_id: AccountId, note_type: NoteType, rng: &mut ClientRng, ) -> Result<TransactionRequest, TransactionRequestError>
Consumes the builder and returns a TransactionRequest for a transaction to mint fungible
assets. This request must be executed against a fungible faucet account.
assetis the fungible asset to be minted.target_idis the account ID of the account to receive the minted asset.note_typedetermines the visibility of the note to be created.rngis the random number generator used to generate the serial number for the created note.
This function cannot be used with a previously set custom script.
Sourcepub fn build_pay_to_id(
self,
payment_data: PaymentNoteDescription,
note_type: NoteType,
rng: &mut ClientRng,
) -> Result<TransactionRequest, TransactionRequestError>
pub fn build_pay_to_id( self, payment_data: PaymentNoteDescription, note_type: NoteType, rng: &mut ClientRng, ) -> Result<TransactionRequest, TransactionRequestError>
Consumes the builder and returns a TransactionRequest for a transaction to send a P2ID
or P2IDE note. This request must be executed against the wallet sender account.
payment_datais the data for the payment transaction that contains the asset to be transferred, the sender account ID, and the target account ID. If the recall or timelock heights are set, a P2IDE note will be created; otherwise, a P2ID note will be created.note_typedetermines the visibility of the note to be created.rngis the random number generator used to generate the serial number for the created note.
This function cannot be used with a previously set custom script.
Sourcepub fn build_swap(
self,
swap_data: &SwapTransactionData,
note_type: NoteType,
payback_note_type: NoteType,
rng: &mut ClientRng,
) -> Result<TransactionRequest, TransactionRequestError>
pub fn build_swap( self, swap_data: &SwapTransactionData, note_type: NoteType, payback_note_type: NoteType, rng: &mut ClientRng, ) -> Result<TransactionRequest, TransactionRequestError>
Consumes the builder and returns a TransactionRequest for a transaction to send a SWAP
note. This request must be executed against the wallet sender account.
swap_datais the data for the swap transaction that contains the sender account ID, the offered asset, and the requested asset.note_typedetermines the visibility of the note to be created.payback_note_typedetermines the visibility of the payback note.rngis the random number generator used to generate the serial number for the created note.
This function cannot be used with a previously set custom script.
Sourcepub fn build(self) -> Result<TransactionRequest, TransactionRequestError>
pub fn build(self) -> Result<TransactionRequest, TransactionRequestError>
Consumes the builder and returns a TransactionRequest.
§Errors
- If both a custom script and own output notes are set.
- If an expiration delta is set when a custom script is set.
- If an invalid note variant is encountered in the own output notes.
Trait Implementations§
Source§impl Clone for TransactionRequestBuilder
impl Clone for TransactionRequestBuilder
Source§fn clone(&self) -> TransactionRequestBuilder
fn clone(&self) -> TransactionRequestBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TransactionRequestBuilder
impl Debug for TransactionRequestBuilder
Auto Trait Implementations§
impl Freeze for TransactionRequestBuilder
impl RefUnwindSafe for TransactionRequestBuilder
impl Send for TransactionRequestBuilder
impl Sync for TransactionRequestBuilder
impl Unpin for TransactionRequestBuilder
impl UnwindSafe for TransactionRequestBuilder
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::RequestSource§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