BlockchainStreamProviderTF

scalus.cardano.node.stream.BlockchainStreamProviderTF

A streaming provider: BlockchainStreamReaderTF plus submission.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Show all
Known subtypes

Members list

Value members

Inherited methods

def findUtxo(input: TransactionInput): F[Either[UtxoQueryError, Utxo]]

Find a single UTxO by its transaction input.

Find a single UTxO by its transaction input.

Attributes

Returns

Right(utxo) if found, Left(NotFound) otherwise

Inherited from:
BlockchainReaderTF
def findUtxos(address: Address): F[Either[UtxoQueryError, Utxos]]

Find all UTxOs at the given address.

Find all UTxOs at the given address.

Attributes

Inherited from:
BlockchainReaderTF
def findUtxos(inputs: Set[TransactionInput]): F[Either[UtxoQueryError, Utxos]]

Find UTxOs by a set of transaction inputs (fails with NotFound if not all are found).

Find UTxOs by a set of transaction inputs (fails with NotFound if not all are found).

Attributes

Inherited from:
BlockchainReaderTF
inline def queryUtxos(inline f: Utxo => Boolean): UtxoQueryWithReaderTF[F]

Query UTxOs using a lambda DSL.

Query UTxOs using a lambda DSL.

Translates the lambda to a UtxoQuery at compile time and returns a builder that can be further configured before execution. Effect-polymorphic — the resulting .execute() returns the reader's own F[Either[UtxoQueryError, Utxos]], so the same call shape works on Future-typed providers (Blockfrost, JS) and direct-style providers (ox Id).

Example:

// Simple query — execute immediately
reader.queryUtxos { u =>
 u.output.address == myAddress
}.execute()

// With pagination and minimum total
reader.queryUtxos { u =>
 u.output.address == myAddress && u.output.value.hasAsset(policyId, assetName)
}.minTotal(Coin.ada(100)).limit(10).execute()

Supported expressions:

  • u.output.address == addr — query by address
  • u.input.transactionId == txId — query by transaction
  • u.output.value.hasAsset(policyId, assetName) — query/filter by asset
  • u.output.value.coin >= amount — filter by minimum lovelace
  • u.output.hasDatumHash(hash) — filter by datum hash
  • && — AND combination
  • || — OR combination

Value parameters

f

Lambda expression from Utxo to Boolean

Attributes

Returns

A UtxoQueryWithReaderTF builder over this reader's effect type

Inherited from:
BlockchainReaderTF

Subscribe with default options.

Subscribe with default options.

Attributes

Inherited from:
BlockchainStreamReaderTF

Subscribe with default options.

Subscribe with default options.

Attributes

Inherited from:
BlockchainStreamReaderTF

Subscribe with default options.

Subscribe with default options.

Attributes

Inherited from:
BlockchainStreamReaderTF

Inherited and Abstract methods

Returns CardanoInfo for this provider.

Returns CardanoInfo for this provider.

Attributes

Inherited from:
BlockchainReaderTF

Check the status of a transaction on the blockchain.

Check the status of a transaction on the blockchain.

Value parameters

txHash

the transaction hash to check

Attributes

Returns

the current status of the transaction

Inherited from:
BlockchainReaderTF
def close(): F[Unit]

Attributes

Inherited from:
BlockchainStreamReaderTF

Returns the current slot number.

Returns the current slot number.

Attributes

Inherited from:
BlockchainReaderTF

Fetches the latest protocol parameters from the network.

Fetches the latest protocol parameters from the network.

Attributes

Inherited from:
BlockchainReaderTF
def findUtxos(query: UtxoQuery): F[Either[UtxoQueryError, Utxos]]

Find UTxOs using a type-safe query.

Find UTxOs using a type-safe query.

Attributes

Inherited from:
BlockchainReaderTF
def getDatum(datumHash: DataHash): F[Option[Data]]

Look up a datum by its hash. Returns None if unknown.

Look up a datum by its hash. Returns None if unknown.

Attributes

Inherited from:
BlockchainReaderTF
protected def mapF[A, B](fa: F[A])(f: A => B): F[B]

Map over this reader's effect F — the one primitive needed to give the convenience lookups above (findUtxo and the findUtxos overloads) a single effect-polymorphic default, without imposing an external Functor/Monad constraint on F. Future-based readers map via their captured ExecutionContext; monadic effects map via their monad.

Map over this reader's effect F — the one primitive needed to give the convenience lookups above (findUtxo and the findUtxos overloads) a single effect-polymorphic default, without imposing an external Functor/Monad constraint on F. Future-based readers map via their captured ExecutionContext; monadic effects map via their monad.

Attributes

Inherited from:
BlockchainReaderTF
def pollForConfirmation(txHash: TransactionHash, maxAttempts: Int = ..., delayMs: Long = ...): F[TransactionStatus]

Poll for transaction confirmation, checking periodically until confirmed or max attempts reached.

Poll for transaction confirmation, checking periodically until confirmed or max attempts reached.

Value parameters

delayMs

delay between attempts in milliseconds (default 1000)

maxAttempts

maximum number of polling attempts (default 60)

txHash

the transaction hash to poll for

Attributes

Returns

the last observed transaction status

Inherited from:
BlockchainProviderTF

What this provider can do. The only thing an implementation declares; per-request support is derived from it by SubscriptionSupport.of.

What this provider can do. The only thing an implementation declares; per-request support is derived from it by SubscriptionSupport.of.

Attributes

Inherited from:
BlockchainStreamReaderTF
def submit(transaction: Transaction): F[Either[SubmitError, TransactionHash]]

Submits a transaction to the network.

Submits a transaction to the network.

Attributes

Inherited from:
BlockchainProviderTF
def submitAndPoll(transaction: Transaction, maxAttempts: Int = ..., delayMs: Long = ...): F[Either[SubmitError, TransactionHash]]

Submit a transaction and poll until confirmed.

Submit a transaction and poll until confirmed.

Composes submit and pollForConfirmation: submits the transaction, then polls until it is confirmed or the maximum number of attempts is reached.

Value parameters

delayMs

delay between attempts in milliseconds (default 1000)

maxAttempts

maximum number of polling attempts (default 60)

transaction

the transaction to submit

Attributes

Returns

Right(txHash) if confirmed, Left(error) if submission failed or not confirmed

Inherited from:
BlockchainProviderTF

Latest-value stream of protocol parameters: the current value on subscribe, then changes.

Latest-value stream of protocol parameters: the current value on subscribe, then changes.

Attributes

Inherited from:
BlockchainStreamReaderTF

Latest-value stream of chain-tip updates — newer wins, so a subscriber always sees the most recent tip when it pulls rather than a backlog of stale ones.

Latest-value stream of chain-tip updates — newer wins, so a subscriber always sees the most recent tip when it pulls rather than a backlog of stale ones.

Attributes

Inherited from:
BlockchainStreamReaderTF

Latest-value stream of one transaction's status, following it through the mempool into a block — and back out again if a rollback orphans it.

Latest-value stream of one transaction's status, following it through the mempool into a block — and back out again if a rollback orphans it.

Attributes

Inherited from:
BlockchainStreamReaderTF