Table of Contents

Namespace Virtufin.Core.Predicates

Classes

AllMessageSelectorPredicate

AND-composition of IMessageSelectorPredicates: matches a message iff every contained predicate accepts it. With an empty predicate list, the predicate accepts every message (vacuous truth).

ContractSelectorPredicate

Default selector that matches a message iff its transaction targets contract.

MaturitySelectorPredicate

Selector that matches a message iff timePoint equals the contract's maturity. Requires the contract to implement IWithMaturity; otherwise the predicate rejects every message.

SenderSelectorPredicate

Selector that matches a message iff its Sender equals Sender.

Interfaces

IMessageSelectorPredicate

A composable filter that decides whether a given IMessage should be considered for a given IContract at a given time and scenario history.

IVerificationMessageFilter

Verification-side message filter. Given the transactions attached to a contract and the prior scenario history, return the subset deemed applicable for downstream execution.

IVerificationMessageFilterCombinator

Combinator that produces a composite IVerificationMessageFilter from a sequence of sub-filters. Implementations decide how the sub-filters compose (typically AND, but UNION or sequenced composition are valid).