Struct tx_bakery::TxBakery

source ·
pub struct TxBakery { /* private fields */ }
Expand description

Transaction builder

The purpose of this component is to convert a raw TransactionInfo (dough) into a fully baked valid transaction. TxBakery does not perform IO and won’t change it’s internal state once initialized.

Implementations§

source§

impl TxBakery

source

pub async fn init(chain_query: &impl ChainQuery) -> Result<Self>

Query all the parameters required to build a transaction and store it for later use. This command will call the ChainQuery service to pull certain chain parameters

source

pub async fn init_with_config( network: &Network, protocol_params: &ProtocolParameters, system_start: DateTime<Utc>, era_summaries: Vec<EraSummary> ) -> Result<Self>

Init TxBakey with the required configurations This allows to directly inject configurations, and handle them separately from the bakery (for example prefetch and cache them)

source

pub fn mk_tx_builder(&self, tx: &TxWithCtx<'_>) -> Result<TransactionBuilder>

Convert a PLA TransactionInfo into a CSL transaction builder. The result is not yet balanced and witnesses are not added. This is useful for some further manual processing of the transaction before finalising.

source

pub fn mk_tx_body(&self, tx: &TxWithCtx<'_>) -> Result<TransactionBody>

source

pub async fn bake_balanced_tx( &self, submitter: &impl Submitter, tx: TxWithCtx<'_> ) -> Result<FixedTransaction>

Convert a TransactionInfo into a valid TransactionBody and prepare all witnesses (except wallet signatures) If the transaction context does not include execution units, we use Ogmios to calculate those

source

pub async fn bake_signed_tx( &self, submitter: &impl Submitter, wallet: &impl Wallet, tx: TxWithCtx<'_> ) -> Result<FixedTransaction>

Convert a TransactionInfo into a valid signed Transaction

source

pub async fn bake_and_deliver( &self, submitter: &impl Submitter, wallet: &impl Wallet, tx: TxWithCtx<'_> ) -> Result<TransactionHash>

Convert a TransactionInfo into a valid signed Transaction and submit it to the chain (Not waiting for confirmation)

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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 more
§

impl<T, U> ToPLA<U> for T
where U: FromCSL<T>,

§

fn to_pla(&self) -> U

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, U> TryToCSL<U> for T
where U: TryFromPLA<T>,

§

fn try_to_csl(&self) -> Result<U, TryFromPLAError>

§

impl<T, U> TryToPLA<U> for T
where U: TryFromCSL<T>,

§

fn try_to_pla(&self) -> Result<U, TryFromCSLError>

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more