Struct kaspa_wasm::MassCalculator
source · pub struct MassCalculator { /* private fields */ }
Implementations§
source§impl MassCalculator
impl MassCalculator
pub fn new(cp: ConsensusParams) -> MassCalculator
pub fn is_dust(&self, amount: u64) -> bool
sourcepub fn is_transaction_output_dust(
transaction_output: JsValue
) -> Result<bool, Error>
pub fn is_transaction_output_dust( transaction_output: JsValue ) -> Result<bool, Error>
isTransactionOutputDust()
returns whether or not the passed transaction output
amount is considered dust or not based on the configured minimum transaction
relay fee.
Dust is defined in terms of the minimum transaction relay fee. In particular, if the cost to the network to spend coins is more than 1/3 of the minimum transaction relay fee, it is considered dust.
It is exposed by MiningManager
for use by transaction generators and wallets.
sourcepub fn minimum_relay_transaction_fee() -> u32
pub fn minimum_relay_transaction_fee() -> u32
minimumRelayTransactionFee()
specifies the minimum transaction fee for a transaction to be accepted to
the mempool and relayed. It is specified in sompi per 1kg (or 1000 grams) of transaction mass.
pub(crate) const MINIMUM_RELAY_TRANSACTION_FEE: u64 = 1000;
sourcepub fn maximum_standard_transaction_mass() -> u32
pub fn maximum_standard_transaction_mass() -> u32
maximumStandardTransactionMass()
is the maximum mass allowed for transactions that
are considered standard and will therefore be relayed and considered for mining.
pub const MAXIMUM_STANDARD_TRANSACTION_MASS: u64 = 100_000;
sourcepub fn calc_minimum_required_transaction_relay_fee(mass: u32) -> u32
pub fn calc_minimum_required_transaction_relay_fee(mass: u32) -> u32
minimum_required_transaction_relay_fee returns the minimum transaction fee required for a transaction with the passed mass to be accepted into the mempool and relayed.
pub fn calc_mass_for_transaction(&self, tx: JsValue) -> Result<u32, Error>
pub fn blank_transaction_serialized_byte_size() -> u32
pub fn blank_transaction_mass(&self) -> u32
pub fn calc_mass_for_payload(&self, payload_byte_size: usize) -> u32
pub fn calc_mass_for_outputs(&self, outputs: JsValue) -> Result<u32, Error>
pub fn calc_mass_for_inputs(&self, inputs: JsValue) -> Result<u32, Error>
pub fn calc_mass_for_output( &self, output: &TransactionOutput ) -> Result<u32, Error>
pub fn calc_mass_for_input( &self, input: &TransactionInput ) -> Result<u32, Error>
pub fn calc_signature_mass(&self, minimum_signatures: u16) -> u32
pub fn calc_signature_mass_for_inputs( &self, number_of_inputs: usize, minimum_signatures: u16 ) -> u32
pub fn calc_minimum_transaction_relay_fee_from_mass(&self, mass: u64) -> u32
pub fn calc_minimum_transaction_relay_fee( &self, transaction: &Transaction, minimum_signatures: u16 ) -> Result<u32, Error>
Trait Implementations§
source§impl From<MassCalculator> for JsValue
impl From<MassCalculator> for JsValue
source§fn from(value: MassCalculator) -> JsValue
fn from(value: MassCalculator) -> JsValue
source§impl FromWasmAbi for MassCalculator
impl FromWasmAbi for MassCalculator
source§impl IntoWasmAbi for MassCalculator
impl IntoWasmAbi for MassCalculator
source§impl LongRefFromWasmAbi for MassCalculator
impl LongRefFromWasmAbi for MassCalculator
§type Anchor = Ref<'static, MassCalculator>
type Anchor = Ref<'static, MassCalculator>
RefFromWasmAbi::Anchor
source§unsafe fn long_ref_from_abi(
js: <MassCalculator as LongRefFromWasmAbi>::Abi
) -> <MassCalculator as LongRefFromWasmAbi>::Anchor
unsafe fn long_ref_from_abi( js: <MassCalculator as LongRefFromWasmAbi>::Abi ) -> <MassCalculator as LongRefFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abi
source§impl OptionFromWasmAbi for MassCalculator
impl OptionFromWasmAbi for MassCalculator
source§fn is_none(abi: &<MassCalculator as FromWasmAbi>::Abi) -> bool
fn is_none(abi: &<MassCalculator as FromWasmAbi>::Abi) -> bool
None
, and otherwise it will be passed to
FromWasmAbi
.source§impl OptionIntoWasmAbi for MassCalculator
impl OptionIntoWasmAbi for MassCalculator
source§fn none() -> <MassCalculator as IntoWasmAbi>::Abi
fn none() -> <MassCalculator as IntoWasmAbi>::Abi
None
branch of this option. Read moresource§impl RefFromWasmAbi for MassCalculator
impl RefFromWasmAbi for MassCalculator
§type Anchor = Ref<'static, MassCalculator>
type Anchor = Ref<'static, MassCalculator>
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: <MassCalculator as RefFromWasmAbi>::Abi
) -> <MassCalculator as RefFromWasmAbi>::Anchor
unsafe fn ref_from_abi( js: <MassCalculator as RefFromWasmAbi>::Abi ) -> <MassCalculator as RefFromWasmAbi>::Anchor
source§impl RefMutFromWasmAbi for MassCalculator
impl RefMutFromWasmAbi for MassCalculator
§type Anchor = RefMut<'static, MassCalculator>
type Anchor = RefMut<'static, MassCalculator>
RefFromWasmAbi::Anchor
source§unsafe fn ref_mut_from_abi(
js: <MassCalculator as RefMutFromWasmAbi>::Abi
) -> <MassCalculator as RefMutFromWasmAbi>::Anchor
unsafe fn ref_mut_from_abi( js: <MassCalculator as RefMutFromWasmAbi>::Abi ) -> <MassCalculator as RefMutFromWasmAbi>::Anchor
RefFromWasmAbi::ref_from_abi
Auto Trait Implementations§
impl RefUnwindSafe for MassCalculator
impl Send for MassCalculator
impl Sync for MassCalculator
impl Unpin for MassCalculator
impl UnwindSafe for MassCalculator
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
§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>
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>
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)
&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)
&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
IntoWasmAbi::Abi
source§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
.