pub struct AccountInterface { /* private fields */ }Expand description
An AccountInterface describes the exported, callable procedures of an account.
A note script’s compatibility with this interface can be inspected to check whether the note may result in a successful execution against this account.
Implementations§
Source§impl AccountInterface
Constructors and public accessors
impl AccountInterface
Constructors and public accessors
Sourcepub fn new(
account_id: AccountId,
auth: Vec<AuthScheme>,
code: &AccountCode,
) -> Self
pub fn new( account_id: AccountId, auth: Vec<AuthScheme>, code: &AccountCode, ) -> Self
Creates a new AccountInterface instance from the provided account ID, authentication
schemes and account code.
Sourcepub fn account_type(&self) -> AccountType
pub fn account_type(&self) -> AccountType
Returns the type of the reference account.
Sourcepub fn is_regular_account(&self) -> bool
pub fn is_regular_account(&self) -> bool
Returns true if the reference account is a regular.
Sourcepub fn is_onchain(&self) -> bool
pub fn is_onchain(&self) -> bool
Returns true if the full state of the account is on chain, i.e. if the modes are
AccountStorageMode::Public or
AccountStorageMode::Network,
false otherwise.
Sourcepub fn is_private(&self) -> bool
pub fn is_private(&self) -> bool
Returns true if the reference account is a private account, false otherwise.
Sourcepub fn is_public(&self) -> bool
pub fn is_public(&self) -> bool
Returns true if the reference account is a public account, false otherwise.
Sourcepub fn is_network(&self) -> bool
pub fn is_network(&self) -> bool
Returns true if the reference account is a network account, false otherwise.
Sourcepub fn auth(&self) -> &Vec<AuthScheme>
pub fn auth(&self) -> &Vec<AuthScheme>
Returns a reference to the vector of used authentication schemes.
Sourcepub fn components(&self) -> &Vec<AccountComponentInterface>
pub fn components(&self) -> &Vec<AccountComponentInterface>
Returns a reference to the set of used component interfaces.
Sourcepub fn is_compatible_with(&self, note: &Note) -> NoteAccountCompatibility
pub fn is_compatible_with(&self, note: &Note) -> NoteAccountCompatibility
Returns NoteAccountCompatibility::Maybe if the provided note is compatible with the current AccountInterface, and NoteAccountCompatibility::No otherwise.
Source§impl AccountInterface
Code generation
impl AccountInterface
Code generation
Sourcepub fn build_send_notes_script(
&self,
output_notes: &[PartialNote],
expiration_delta: Option<u16>,
in_debug_mode: bool,
) -> Result<TransactionScript, AccountInterfaceError>
pub fn build_send_notes_script( &self, output_notes: &[PartialNote], expiration_delta: Option<u16>, in_debug_mode: bool, ) -> Result<TransactionScript, AccountInterfaceError>
Returns a transaction script which sends the specified notes using the procedures available in the current interface.
Provided expiration_delta parameter is used to specify how close to the transaction’s
reference block the transaction must be included into the chain. For example, if the
transaction’s reference block is 100 and transaction expiration delta is 10, the transaction
can be included into the chain by block 110. If this does not happen, the transaction is
considered expired and cannot be included into the chain.
Currently only AccountComponentInterface::BasicWallet and
AccountComponentInterface::BasicFungibleFaucet interfaces are supported for the
send_note script creation. Attempt to generate the script using some other interface will
lead to an error. In case both supported interfaces are available in the account, the script
will be generated for the AccountComponentInterface::BasicFungibleFaucet interface.
§Example
Example of the send_note script with specified expiration delta and one output note:
begin
push.{expiration_delta} exec.::miden::tx::update_expiration_block_delta
push.{note information}
push.{asset amount}
call.::miden::contracts::faucets::basic_fungible::distribute dropw dropw drop
end§Errors:
Returns an error if:
- the available interfaces does not support the generation of the standard
send_noteprocedure. - the sender of the note isn’t the account for which the script is being built.
- the note created by the faucet doesn’t contain exactly one asset.
- a faucet tries to distribute an asset with a different faucet ID.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AccountInterface
impl RefUnwindSafe for AccountInterface
impl Send for AccountInterface
impl Sync for AccountInterface
impl Unpin for AccountInterface
impl UnwindSafe for AccountInterface
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