pallas/pallas-txbuilder/src/lib.rs
2023-12-03 10:29:27 -03:00

34 lines
1.3 KiB
Rust

mod babbage;
mod transaction;
pub use babbage::BuildBabbage;
pub use transaction::model::{BuiltTransaction, Input, Output, ScriptKind, StagingTransaction};
#[derive(Debug, Clone, PartialEq, thiserror::Error)]
pub enum TxBuilderError {
/// Provided bytes could not be decoded into a script
#[error("Transaction has no inputs")]
MalformedScript,
/// Provided bytes could not be decoded into a datum
#[error("Could not decode datum bytes")]
MalformedDatum,
/// Provided datum hash was not 32 bytes in length
#[error("Invalid bytes length for datum hash")]
MalformedDatumHash,
/// Input, policy, etc pointed to by a redeemer was not found in the
/// transaction
#[error("Input/policy pointed to by redeemer not found in tx")]
RedeemerTargetMissing,
/// Provided network ID is invalid (must be 0 or 1)
#[error("Invalid network ID")]
InvalidNetworkId,
/// Transaction bytes in built transaction object could not be decoded
#[error("Corrupted transaction bytes in built transaction")]
CorruptedTxBytes,
/// Public key generated from private key was of unexpected length
#[error("Public key for private key is malformed")]
MalformedKey,
/// Asset name is too long, it must be 32 bytes or less
#[error("Asset name must be 32 bytes or less")]
AssetNameTooLong,
}