pub struct TransactionRequest { /* private fields */ }Expand description
A request for a transaction that can be executed by an account.
A request contains information about input notes to be consumed by the transaction (if any), description of the transaction script to be executed (if any), and a set of notes expected to be generated by the transaction or by consuming notes generated by the transaction.
Implementations§
Source§impl TransactionRequest
impl TransactionRequest
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new, empty TransactionRequest.
Sourcepub fn with_unauthenticated_input_notes(
self,
notes: impl IntoIterator<Item = (Note, Option<NoteArgs>)>,
) -> Self
pub fn with_unauthenticated_input_notes( self, notes: impl IntoIterator<Item = (Note, Option<NoteArgs>)>, ) -> Self
Adds the specified notes as unauthenticated input notes to the transaction request.
Sourcepub fn with_authenticated_input_notes(
self,
notes: impl IntoIterator<Item = (NoteId, Option<NoteArgs>)>,
) -> Self
pub fn with_authenticated_input_notes( self, notes: impl IntoIterator<Item = (NoteId, Option<NoteArgs>)>, ) -> Self
Adds the specified notes as authenticated input notes to the transaction request.
Sourcepub fn with_own_output_notes(
self,
notes: impl IntoIterator<Item = OutputNote>,
) -> Result<Self, TransactionRequestError>
pub fn with_own_output_notes( self, notes: impl IntoIterator<Item = OutputNote>, ) -> Result<Self, TransactionRequestError>
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 the the expected output notes of the transaction.
If a transaction script template is already set (e.g. by calling with_custom_script), this
method will return an error.
Sourcepub fn with_custom_script(
self,
script: TransactionScript,
) -> Result<Self, TransactionRequestError>
pub fn with_custom_script( self, script: TransactionScript, ) -> Result<Self, TransactionRequestError>
Specifies a custom transaction script to be used.
If a script template is already set (e.g. by calling with_own_output_notes), this method
will return an error.
Sourcepub fn with_public_foreign_accounts(
self,
foreign_account_ids: impl IntoIterator<Item = AccountId>,
) -> Result<Self, TransactionRequestError>
pub fn with_public_foreign_accounts( self, foreign_account_ids: impl IntoIterator<Item = AccountId>, ) -> Result<Self, TransactionRequestError>
Specifies public account IDs that contain data that the transaction will utilize.
At execution, the client queries the node and retrieves the state and current code for these accounts, and injects them as advice inputs.
§Errors
- If
foreign_account_idscontains an ID corresponding to a private account.
Sourcepub fn with_expected_output_notes(self, notes: Vec<Note>) -> Self
pub fn with_expected_output_notes(self, notes: Vec<Note>) -> Self
Specifies a transaction’s expected output notes.
The set of specified notes is treated as a subset of the notes that may be created by a transaction. That is, the transaction must create all the specified expected notes, but it may also create other notes which are not included in the set of expected notes.
Sourcepub fn with_expected_future_notes(
self,
notes: Vec<(NoteDetails, NoteTag)>,
) -> Self
pub fn with_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<T: IntoIterator<Item = (Digest, Vec<Felt>)>>(
self,
iter: T,
) -> Self
pub fn extend_advice_map<T: IntoIterator<Item = (Digest, Vec<Felt>)>>( self, iter: T, ) -> Self
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 with_expiration_delta(
self,
expiration_delta: u16,
) -> Result<Self, TransactionRequestError>
pub fn with_expiration_delta( self, expiration_delta: u16, ) -> Result<Self, TransactionRequestError>
The number of blocks in relation to the transaction’s reference block after which the transaction will 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 consume_notes(note_ids: Vec<NoteId>) -> Self
pub fn consume_notes(note_ids: Vec<NoteId>) -> Self
Returns a new TransactionRequest for a transaction to consume the specified notes.
note_idsis a list of note IDs to be consumed.
Sourcepub fn mint_fungible_asset(
asset: FungibleAsset,
target_id: AccountId,
note_type: NoteType,
rng: &mut impl FeltRng,
) -> Result<Self, TransactionRequestError>
pub fn mint_fungible_asset( asset: FungibleAsset, target_id: AccountId, note_type: NoteType, rng: &mut impl FeltRng, ) -> Result<Self, TransactionRequestError>
Returns a new 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.
Sourcepub fn pay_to_id(
payment_data: PaymentTransactionData,
recall_height: Option<u32>,
note_type: NoteType,
rng: &mut impl FeltRng,
) -> Result<Self, TransactionRequestError>
pub fn pay_to_id( payment_data: PaymentTransactionData, recall_height: Option<u32>, note_type: NoteType, rng: &mut impl FeltRng, ) -> Result<Self, TransactionRequestError>
Returns a new TransactionRequest for a transaction to send a P2ID or P2IDR 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.recall_heightis the block height after which the sender can recall the assets. If None, a P2ID note is created. If Some(), a P2IDR note is 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.
Sourcepub fn swap(
swap_data: SwapTransactionData,
note_type: NoteType,
rng: &mut impl FeltRng,
) -> Result<Self, TransactionRequestError>
pub fn swap( swap_data: SwapTransactionData, note_type: NoteType, rng: &mut impl FeltRng, ) -> Result<Self, TransactionRequestError>
Returns a new 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.rngis the random number generator used to generate the serial number for the created note.
Sourcepub fn unauthenticated_input_notes(&self) -> &[Note]
pub fn unauthenticated_input_notes(&self) -> &[Note]
Returns a reference to the transaction request’s unauthenticated note list.
Sourcepub fn unauthenticated_input_note_ids(
&self,
) -> impl Iterator<Item = NoteId> + '_
pub fn unauthenticated_input_note_ids( &self, ) -> impl Iterator<Item = NoteId> + '_
Returns an iterator over unauthenticated note IDs for the transaction request.
Sourcepub fn authenticated_input_note_ids(&self) -> impl Iterator<Item = NoteId> + '_
pub fn authenticated_input_note_ids(&self) -> impl Iterator<Item = NoteId> + '_
Returns an iterator over authenticated input note IDs for the transaction request.
Sourcepub fn input_notes(&self) -> &BTreeMap<NoteId, Option<NoteArgs>>
pub fn input_notes(&self) -> &BTreeMap<NoteId, Option<NoteArgs>>
Returns a mapping for input note IDs and their optional NoteArgs.
Sourcepub fn get_input_note_ids(&self) -> Vec<NoteId>
pub fn get_input_note_ids(&self) -> Vec<NoteId>
Returns a list of all input note IDs.
Sourcepub fn get_note_args(&self) -> BTreeMap<NoteId, NoteArgs>
pub fn get_note_args(&self) -> BTreeMap<NoteId, NoteArgs>
Sourcepub fn expected_output_notes(&self) -> impl Iterator<Item = &Note>
pub fn expected_output_notes(&self) -> impl Iterator<Item = &Note>
Returns an iterator over the expected output notes.
Sourcepub fn expected_future_notes(
&self,
) -> impl Iterator<Item = &(NoteDetails, NoteTag)>
pub fn expected_future_notes( &self, ) -> impl Iterator<Item = &(NoteDetails, NoteTag)>
Returns an iterator over expected future notes.
Sourcepub fn script_template(&self) -> &Option<TransactionScriptTemplate>
pub fn script_template(&self) -> &Option<TransactionScriptTemplate>
Returns the TransactionScriptTemplate.
Sourcepub fn advice_map(&self) -> &AdviceMap
pub fn advice_map(&self) -> &AdviceMap
Returns the AdviceMap for the transaction request.
Sourcepub fn merkle_store(&self) -> &MerkleStore
pub fn merkle_store(&self) -> &MerkleStore
Returns the MerkleStore for the transaction request.
Sourcepub fn foreign_accounts(&self) -> &BTreeSet<AccountId>
pub fn foreign_accounts(&self) -> &BTreeSet<AccountId>
Returns the IDs of the required foreign accounts for the transaction request.
Trait Implementations§
Source§impl Clone for TransactionRequest
impl Clone for TransactionRequest
Source§fn clone(&self) -> TransactionRequest
fn clone(&self) -> TransactionRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TransactionRequest
impl Debug for TransactionRequest
Source§impl Default for TransactionRequest
impl Default for TransactionRequest
Source§impl Deserializable for TransactionRequest
impl Deserializable for TransactionRequest
Source§fn read_from<R: ByteReader>(
source: &mut R,
) -> Result<Self, DeserializationError>
fn read_from<R: ByteReader>( source: &mut R, ) -> Result<Self, DeserializationError>
source, attempts to deserialize these bytes
into Self, and returns the result. Read moreSource§fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
fn read_from_bytes(bytes: &[u8]) -> Result<Self, DeserializationError>
Source§impl PartialEq for TransactionRequest
impl PartialEq for TransactionRequest
Source§impl Serializable for TransactionRequest
impl Serializable for TransactionRequest
Source§fn write_into<W: ByteWriter>(&self, target: &mut W)
fn write_into<W: ByteWriter>(&self, target: &mut W)
self into bytes and writes these bytes into the target.Source§fn get_size_hint(&self) -> usize
fn get_size_hint(&self) -> usize
impl Eq for TransactionRequest
impl StructuralPartialEq for TransactionRequest
Auto Trait Implementations§
impl Freeze for TransactionRequest
impl RefUnwindSafe for TransactionRequest
impl Send for TransactionRequest
impl Sync for TransactionRequest
impl Unpin for TransactionRequest
impl UnwindSafe for TransactionRequest
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<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