pub struct WasmSpendBuilder { /* private fields */ }Implementations§
Source§impl WasmSpendBuilder
impl WasmSpendBuilder
Sourcepub fn new(
note: WasmNote,
spend_condition: WasmSpendCondition,
refund_lock: Option<WasmSpendCondition>,
) -> Result<Self, JsValue>
pub fn new( note: WasmNote, spend_condition: WasmSpendCondition, refund_lock: Option<WasmSpendCondition>, ) -> Result<Self, JsValue>
Create a new SpendBuilder with a given note and spend condition
Sourcepub fn compute_refund(&mut self, include_lock_data: bool)
pub fn compute_refund(&mut self, include_lock_data: bool)
Compute refund from any spare assets, given refund_lock was passed
Sourcepub fn cur_refund(&self) -> Option<WasmSeed>
pub fn cur_refund(&self) -> Option<WasmSeed>
Get current refund
Sourcepub fn is_balanced(&self) -> bool
pub fn is_balanced(&self) -> bool
Checks whether note.assets = seeds + fee
This function needs to return true for TxBuilder::validate to pass
Sourcepub fn seed(&mut self, seed: WasmSeed) -> Result<(), JsValue>
pub fn seed(&mut self, seed: WasmSeed) -> Result<(), JsValue>
Add seed to this spend
Seed is an output with a recipient (as defined by the spend condition).
Nockchain transaction engine will take all seeds with matching lock from all spends in the transaction, and merge them into one output note.
Sourcepub fn invalidate_sigs(&mut self)
pub fn invalidate_sigs(&mut self)
Manually invalidate signatures
Each spend’s fee+seeds are bound to one or more signatures. If they get changed, the signature becomes invalid. This builder automatically invalidates signatures upon relevant modifications, but this functionality is provided nonetheless.
Sourcepub fn missing_unlocks(&self) -> Result<Vec<JsValue>, JsValue>
pub fn missing_unlocks(&self) -> Result<Vec<JsValue>, JsValue>
Get the list of missing “unlocks”
An unlock is a spend condition to be satisfied. For instance, for a Pkh spend condition,
if the transaction is unsigned, this function will return a Pkh type missing unlock, with
the list of valid PKH’s and number of signatures needed. This will not return PKHs that are
already attatched to the spend (relevant for multisigs). For Hax spend condition, this
will return any missing preimages. This function will return a list of not-yet-validated
spend conditions.
Sourcepub fn add_preimage(
&mut self,
preimage_jam: &[u8],
) -> Result<Option<WasmDigest>, JsValue>
pub fn add_preimage( &mut self, preimage_jam: &[u8], ) -> Result<Option<WasmDigest>, JsValue>
Attatch a preimage to this spend
Trait Implementations§
Source§impl From<SpendBuilder> for WasmSpendBuilder
impl From<SpendBuilder> for WasmSpendBuilder
Source§fn from(builder: SpendBuilder) -> Self
fn from(builder: SpendBuilder) -> Self
Source§impl From<WasmSpendBuilder> for JsValue
impl From<WasmSpendBuilder> for JsValue
Source§fn from(value: WasmSpendBuilder) -> Self
fn from(value: WasmSpendBuilder) -> Self
Source§impl From<WasmSpendBuilder> for SpendBuilder
impl From<WasmSpendBuilder> for SpendBuilder
Source§fn from(value: WasmSpendBuilder) -> Self
fn from(value: WasmSpendBuilder) -> Self
Source§impl FromWasmAbi for WasmSpendBuilder
impl FromWasmAbi for WasmSpendBuilder
Source§impl IntoWasmAbi for WasmSpendBuilder
impl IntoWasmAbi for WasmSpendBuilder
Source§impl OptionFromWasmAbi for WasmSpendBuilder
impl OptionFromWasmAbi for WasmSpendBuilder
Source§impl OptionIntoWasmAbi for WasmSpendBuilder
impl OptionIntoWasmAbi for WasmSpendBuilder
Source§impl RefFromWasmAbi for WasmSpendBuilder
impl RefFromWasmAbi for WasmSpendBuilder
Source§type Anchor = RcRef<WasmSpendBuilder>
type Anchor = RcRef<WasmSpendBuilder>
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§impl RefMutFromWasmAbi for WasmSpendBuilder
impl RefMutFromWasmAbi for WasmSpendBuilder
Source§impl TryFromJsValue for WasmSpendBuilder
impl TryFromJsValue for WasmSpendBuilder
Source§impl VectorFromWasmAbi for WasmSpendBuilder
impl VectorFromWasmAbi for WasmSpendBuilder
type Abi = <Box<[JsValue]> as FromWasmAbi>::Abi
unsafe fn vector_from_abi(js: Self::Abi) -> Box<[WasmSpendBuilder]>
Source§impl VectorIntoWasmAbi for WasmSpendBuilder
impl VectorIntoWasmAbi for WasmSpendBuilder
type Abi = <Box<[JsValue]> as IntoWasmAbi>::Abi
fn vector_into_abi(vector: Box<[WasmSpendBuilder]>) -> Self::Abi
Source§impl WasmDescribeVector for WasmSpendBuilder
impl WasmDescribeVector for WasmSpendBuilder
impl SupportsConstructor for WasmSpendBuilder
impl SupportsInstanceProperty for WasmSpendBuilder
impl SupportsStaticProperty for WasmSpendBuilder
Auto Trait Implementations§
impl Freeze for WasmSpendBuilder
impl RefUnwindSafe for WasmSpendBuilder
impl Send for WasmSpendBuilder
impl Sync for WasmSpendBuilder
impl Unpin for WasmSpendBuilder
impl UnwindSafe for WasmSpendBuilder
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> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.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> 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<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.Source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.Source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
impl<T> ReturnWasmAbi for Twhere
T: IntoWasmAbi,
Source§type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
IntoWasmAbi::AbiSource§fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
fn return_abi(self) -> <T as ReturnWasmAbi>::Abi
IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err.Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.Source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.Source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.Source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.