Struct kaspa_wasm::Generator
source · pub struct Generator { /* private fields */ }
Expand description
Generator
is a type capable of generating transactions based on a supplied
set of UTXO entries or a UTXO entry producer (such as UtxoContext
). The Generator
accumulates UTXO entries until it can generate a transaction that meets the
requested amount or until the total mass of created inputs exceeds the allowed
transaction mass, at which point it will produce a compound transaction by forwarding
all selected UTXO entries to the supplied change address and prepare to start generating
a new transaction. Such sequence of daisy-chained transactions is known as a “batch”.
Each compound transaction results in a new UTXO, which is immediately reused in the
subsequent transaction.
let generator = new Generator({
utxoEntries : [...],
changeAddress : "kaspa:...",
outputs : [[1000, "kaspa:..."], [2000, "kaspa:..."], ...],
priorityFee : 1000n,
});
while(transaction = await generator.next()) {
await transaction.sign(privateKeys);
await transaction.submit(rpc);
}
let summary = generator.summary();
console.log(summary);
Implementations§
Trait Implementations§
source§impl FromWasmAbi for Generator
impl FromWasmAbi for Generator
source§impl IntoWasmAbi for Generator
impl IntoWasmAbi for Generator
source§impl LongRefFromWasmAbi for Generator
impl LongRefFromWasmAbi for Generator
source§unsafe fn long_ref_from_abi(
js: <Generator as LongRefFromWasmAbi>::Abi
) -> <Generator as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <Generator as LongRefFromWasmAbi>::Abi ) -> <Generator as LongRefFromWasmAbi>::Anchor
Same as
RefFromWasmAbi::ref_from_abi
source§impl OptionFromWasmAbi for Generator
impl OptionFromWasmAbi for Generator
source§impl OptionIntoWasmAbi for Generator
impl OptionIntoWasmAbi for Generator
source§impl RefFromWasmAbi for Generator
impl RefFromWasmAbi for Generator
§type Anchor = Ref<'static, Generator>
type Anchor = Ref<'static, Generator>
The type that holds the reference to
Self
for the duration of the
invocation of the function that has an &Self
parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous.source§unsafe fn ref_from_abi(
js: <Generator as RefFromWasmAbi>::Abi
) -> <Generator as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <Generator as RefFromWasmAbi>::Abi ) -> <Generator as RefFromWasmAbi>::Anchor
source§impl RefMutFromWasmAbi for Generator
impl RefMutFromWasmAbi for Generator
source§unsafe fn ref_mut_from_abi(
js: <Generator as RefMutFromWasmAbi>::Abi
) -> <Generator as RefMutFromWasmAbi>::Anchor
unsafe fn ref_mut_from_abi( js: <Generator as RefMutFromWasmAbi>::Abi ) -> <Generator as RefMutFromWasmAbi>::Anchor
Same as
RefFromWasmAbi::ref_from_abi
Auto Trait Implementations§
impl !RefUnwindSafe for Generator
impl Send for Generator
impl Sync for Generator
impl Unpin for Generator
impl !UnwindSafe for Generator
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
Mutably borrows from an owned value. Read more
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T, U> ExactFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> ExactFrom<T> for Uwhere
U: TryFrom<T>,
fn exact_from(value: T) -> U
§impl<T, U> ExactInto<U> for Twhere
U: ExactFrom<T>,
impl<T, U> ExactInto<U> for Twhere
U: ExactFrom<T>,
fn exact_into(self) -> U
§impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
impl<T, U> OverflowingInto<U> for Twhere
U: OverflowingFrom<T>,
fn overflowing_into(self) -> (U, bool)
source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as
IntoWasmAbi::Abi
source§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
Same as
IntoWasmAbi::into_abi
, except that it may throw and never
return in the case of Err
.