[−][src]Module grin_core::core::transaction
Transactions
Structs
CommitWrapper | We need to wrap commitments so they can be sorted with hashable_ord. |
Input | A transaction input. |
NRDRelativeHeight | Relative height field on NRD kernel variant. u16 representing a height between 1 and MAX (consensus::WEEK_HEIGHT). |
Output | Output for a transaction, defining the new ownership of coins that are being transferred. The commitment is a blinded value for the output while the range proof guarantees the commitment includes a positive value without overflow and the ownership of the private key. |
OutputIdentifier | An output_identifier can be build from either an input or an output and contains everything we need to uniquely identify an output being spent. Needed because it is not sufficient to pass a commitment around. |
Transaction | A transaction |
TransactionBody | TransactionBody is a common abstraction for transaction and block |
TxKernel | A proof that a transaction sums to zero. Includes both the transaction's Pedersen commitment and the signature, that guarantees that the commitments amount to zero. The signature signs the fee and the lock_height, which are retained for signature validation. |
Enums
Error | Errors thrown by Transaction validation |
Inputs | Wrapper around a vec of inputs. |
KernelFeatures | Various tx kernel variants. |
OutputFeatures | Various flavors of tx kernel. |
Weighting | Enum of possible tx weight verification options - |
Functions
aggregate | Aggregate a vec of txs into a multi-kernel tx with cut_through. |
cut_through | Takes a slice of inputs and a slice of outputs and applies "cut-through"
eliminating any input/output pairs with input spending output.
Returns new slices with cut-through elements removed.
Also returns slices of the cut-through elements themselves.
Note: Takes slices of anything that is AsRef |
deaggregate | Attempt to deaggregate a multi-kernel transaction based on multiple transactions |