Skip to content

Generator (Class)

Transaction generator for building and signing transactions.

Handles UTXO selection, fee calculation, change outputs, and transaction splitting for large transfers.

__iter__

__iter__() -> Generator

Return self as an iterator.

__new__

__new__(entries: UtxoEntries | UtxoContext, change_address: Address, network_id: Optional[NetworkId] = None, outputs: Optional[Outputs] = None, payload: Optional[Binary] = None, fee_rate: Optional[float] = None, priority_fee: Optional[int] = None, priority_entries: Optional[UtxoEntries] = None, sig_op_count: Optional[int] = None, minimum_signatures: Optional[int] = None) -> Generator

Create a new transaction generator.

PARAMETER DESCRIPTION
network_id

The network to build transactions for (required for UTXO entries).

TYPE: Optional[NetworkId] DEFAULT: None

entries

UtxoContext or list of UTXO entries to spend from.

TYPE: UtxoEntries | UtxoContext

change_address

Address to send change to.

TYPE: Address

outputs

Optional list of payment outputs.

TYPE: Optional[Outputs] DEFAULT: None

payload

Optional transaction payload (OP_RETURN data).

TYPE: Optional[Binary] DEFAULT: None

fee_rate

Optional fee rate multiplier.

TYPE: Optional[float] DEFAULT: None

priority_fee

Additional fee in sompi.

TYPE: Optional[int] DEFAULT: None

priority_entries

UTXOs to use first.

TYPE: Optional[UtxoEntries] DEFAULT: None

sig_op_count

Signature operations per input (default: 1).

TYPE: Optional[int] DEFAULT: None

minimum_signatures

For multisig fee estimation.

TYPE: Optional[int] DEFAULT: None

RETURNS DESCRIPTION
Generator

A new Generator instance.

TYPE: Generator

RAISES DESCRIPTION
Exception

If generator creation fails.

__next__

__next__() -> Optional[PendingTransaction]

Get the next pending transaction, or None if complete.

RETURNS DESCRIPTION
Optional[PendingTransaction]

PendingTransaction | None: The next transaction to sign and submit.

RAISES DESCRIPTION
Exception

If transaction generation fails.

estimate

estimate() -> GeneratorSummary

Estimate the transaction without generating.

RETURNS DESCRIPTION
GeneratorSummary

A summary with fee, transaction count, and other details.

TYPE: GeneratorSummary

RAISES DESCRIPTION
Exception

If estimation fails.

summary

summary() -> GeneratorSummary

Get the summary after generation.

RETURNS DESCRIPTION
GeneratorSummary

The generation summary with fees and transaction details.

TYPE: GeneratorSummary