Class Transaction.Transfer<A>
Transfer a position between two parties, authorised by a contract.
public sealed record Transaction.Transfer<A> : Transaction, ITransaction, IEquatable<ITransaction>, IEquatable<Transaction>, IEquatable<Transaction.Transfer<A>> where A : IFixedPointAmount<A>
Type Parameters
AThe fixed-point amount type measuring the position.
- Inheritance
-
Transaction.Transfer<A>
- Implements
- Inherited Members
Remarks
Only this leaf record carries the amount type. Transaction itself stays
non-generic, so State, Message and IScenarioHistory keep holding
plain Transaction and are unaffected.
Constructors
Transfer(Signatory, Signatory, Position<A>, ContractIdentifier)
Construct a transfer transaction.
public Transfer(Signatory from, Signatory to, Position<A> position, ContractIdentifier id)
Parameters
fromSignatorytoSignatorypositionPosition<A>idContractIdentifier
Properties
From
The transferring party.
public Signatory From { get; }
Property Value
Id
The contract that authorises this transfer.
public ContractIdentifier Id { get; }
Property Value
Position
The position being transferred.
public Position<A> Position { get; }
Property Value
- Position<A>
RelatedContract
The contract this transaction targets, or null for transactions
that do not target a single contract (e.g. atomic groups).
public override IContractIdentifier? RelatedContract { get; }
Property Value
To
The receiving party.
public Signatory To { get; }