Struct kaspa_wasm::Transaction
source · pub struct Transaction {
pub version: u16,
pub inputs: Vec<TransactionInput>,
pub outputs: Vec<TransactionOutput>,
pub lock_time: u64,
pub subnetwork_id: SubnetworkId,
pub gas: u64,
pub payload: Vec<u8>,
/* private fields */
}
Expand description
Represents a Kaspa transaction
Fields§
§version: u16
§inputs: Vec<TransactionInput>
§outputs: Vec<TransactionOutput>
§lock_time: u64
§subnetwork_id: SubnetworkId
§gas: u64
§payload: Vec<u8>
Implementations§
source§impl Transaction
impl Transaction
pub fn new( version: u16, inputs: Vec<TransactionInput>, outputs: Vec<TransactionOutput>, lock_time: u64, subnetwork_id: SubnetworkId, gas: u64, payload: Vec<u8> ) -> Transaction
pub fn new_non_finalized( version: u16, inputs: Vec<TransactionInput>, outputs: Vec<TransactionOutput>, lock_time: u64, subnetwork_id: SubnetworkId, gas: u64, payload: Vec<u8> ) -> Transaction
source§impl Transaction
impl Transaction
sourcepub fn is_coinbase(&self) -> bool
pub fn is_coinbase(&self) -> bool
Determines whether or not a transaction is a coinbase transaction. A coinbase transaction is a special transaction created by miners that distributes fees and block subsidy to the previous blocks’ miners, and specifies the script_pub_key that will be used to pay the current miner in future blocks.
sourcepub fn set_mass(&self, mass: u64)
pub fn set_mass(&self, mass: u64)
Set the mass field of this transaction. The mass field is expected depending on hard-forks which are currently activated only on some testnets. The field has no effect on tx ID so no need to finalize following this call.
pub fn mass(&self) -> u64
Trait Implementations§
source§impl AsRef<Transaction> for Transaction
impl AsRef<Transaction> for Transaction
source§fn as_ref(&self) -> &Transaction
fn as_ref(&self) -> &Transaction
Converts this type into a shared reference of the (usually inferred) input type.
source§impl BorshDeserialize for Transactionwhere
u16: BorshDeserialize,
Vec<TransactionInput>: BorshDeserialize,
Vec<TransactionOutput>: BorshDeserialize,
u64: BorshDeserialize,
SubnetworkId: BorshDeserialize,
Vec<u8>: BorshDeserialize,
Hash: BorshDeserialize,
impl BorshDeserialize for Transactionwhere
u16: BorshDeserialize,
Vec<TransactionInput>: BorshDeserialize,
Vec<TransactionOutput>: BorshDeserialize,
u64: BorshDeserialize,
SubnetworkId: BorshDeserialize,
Vec<u8>: BorshDeserialize,
Hash: BorshDeserialize,
source§fn deserialize(buf: &mut &[u8]) -> Result<Transaction, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Transaction, Error>
Deserializes this instance from a given slice of bytes.
Updates the buffer to point at the remaining bytes.
§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
Deserialize this instance from a slice of bytes.
source§impl BorshSerialize for Transactionwhere
u16: BorshSerialize,
Vec<TransactionInput>: BorshSerialize,
Vec<TransactionOutput>: BorshSerialize,
u64: BorshSerialize,
SubnetworkId: BorshSerialize,
Vec<u8>: BorshSerialize,
Hash: BorshSerialize,
impl BorshSerialize for Transactionwhere
u16: BorshSerialize,
Vec<TransactionInput>: BorshSerialize,
Vec<TransactionOutput>: BorshSerialize,
u64: BorshSerialize,
SubnetworkId: BorshSerialize,
Vec<u8>: BorshSerialize,
Hash: BorshSerialize,
source§impl Clone for Transaction
impl Clone for Transaction
source§fn clone(&self) -> Transaction
fn clone(&self) -> Transaction
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Transaction
impl Debug for Transaction
source§impl Default for Transaction
impl Default for Transaction
source§fn default() -> Transaction
fn default() -> Transaction
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for Transaction
impl<'de> Deserialize<'de> for Transaction
source§fn deserialize<__D>(
__deserializer: __D
) -> Result<Transaction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D
) -> Result<Transaction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl From<&Transaction> for Transaction
impl From<&Transaction> for Transaction
source§fn from(tx: &Transaction) -> Transaction
fn from(tx: &Transaction) -> Transaction
Converts to this type from the input type.
source§impl From<Transaction> for Transaction
impl From<Transaction> for Transaction
source§fn from(tx: Transaction) -> Transaction
fn from(tx: Transaction) -> Transaction
Converts to this type from the input type.
source§impl PartialEq for Transaction
impl PartialEq for Transaction
source§fn eq(&self, other: &Transaction) -> bool
fn eq(&self, other: &Transaction) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for Transaction
impl Serialize for Transaction
source§fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
source§impl TryFrom<&RpcTransaction> for Transaction
impl TryFrom<&RpcTransaction> for Transaction
source§fn try_from(item: &RpcTransaction) -> Result<Transaction, RpcError>
fn try_from(item: &RpcTransaction) -> Result<Transaction, RpcError>
Performs the conversion.
impl Eq for Transaction
impl StructuralEq for Transaction
impl StructuralPartialEq for Transaction
Auto Trait Implementations§
impl RefUnwindSafe for Transaction
impl Send for Transaction
impl Sync for Transaction
impl Unpin for Transaction
impl UnwindSafe for Transaction
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.