Module zebra_chain::transaction
source ยท Expand description
Transactions and transaction-related structures.
Re-exportsยง
pub use sapling::FieldNotPresent;
Modulesยง
- Arbitrary data generation for transaction proptests
- auth_
digest ๐Authorizing digests for Zcash transactions. - Methods for building transactions.
- hash ๐Transaction identifiers for Zcash.
- joinsplit ๐
- lock_
time ๐Transaction LockTime. - memo ๐
- serialize ๐Contains impls of
ZcashSerialize
,ZcashDeserialize
for all of the transaction types, so that all of the serialization logic is in one place. - sighash ๐Signature hashes for Zcash transactions
- txid ๐Transaction ID computation. Contains code for generating the Transaction ID from the transaction.
- unmined ๐Unmined Zcash transaction identifiers and transactions.
- An implementation of the [ZIP-317] fee calculations for UnminedTxs:
Structsยง
- An authorizing data commitment hash as specified in ZIP-244.
- A transaction ID, which uniquely identifies mined v5 transactions, and all v1-v4 transactions.
- The different SigHash types, as defined in https://zips.z.cash/zip-0143
- A bundle of
JoinSplit
descriptions and signature data. - A 512-byte (plaintext) memo associated with a note, as described in protocol specification ยง5.5.
- A serialized transaction.
- A Signature Hash (or SIGHASH) as specified in https://zips.z.cash/protocol/protocol.pdf#sighash
- A SigHasher context which stores precomputed data that is reused between sighash computations for the same transaction.
- An unmined transaction, and its pre-calculated unique identifying ID.
- A verified unmined transaction, and the corresponding transaction fee.
- A witnessed transaction ID, which uniquely identifies unmined v5 transactions.
Enumsยง
- A Bitcoin-style
locktime
, representing either a block height or an epoch time. - A Zcash transaction.
- A unique identifier for an unmined transaction, regardless of version.
Constantsยง
- The minimum cost value for a transaction in the mempool.
- All txs must have at least one input, a 4 byte locktime, and at least one output.
- The minimum transaction size for v4 transactions.
- The minimum transaction size for v5 transactions.