user7225: I noticed that TxInfo datatype has a txInfoData field which carries a list of mappings from datum hashes to datum values. This seems very useful for validating transactions with multiple input UTxO's.
Where and how is this list provided while creating a transaction?

user7225: There are at least two reasons for that field to be a list:

A transaction may spend UTxO's from multiple script addresses,
The datum value for a transaction output can optionally be provided.

Using cardano-cli transaction build, we can provide a datum value for each input UTxO with --tx-in-datum-file (or --tx-in-datum-value). And also, for each output UTxO we can provide a datum value with --tx-out-datum-embed-file (or --tx-out-datum-embed-value).

7225: <p>I noticed that <a href="https://playground.plutus.iohkdev.io/doc/haddock/plutus-ledger/html/Ledger.html#t:TxInfo" rel="nofollow noreferrer"><code>TxInfo</code> datatype</a> has a <code>txInfoData</code> field which carries a list of mappings from datum hashes to datum values. This seems very useful for validating transactions with multiple input UTxO's.</p>
<p>Where and how is this list provided while creating a transaction?</p>
 7225: <p>There are at least two reasons for that field to be a list:</p>
<ul>
<li>A transaction may spend UTxO's from multiple script addresses,</li>
<li>The datum value for a transaction output can optionally be provided.</li>
</ul>
<p>Using <code>cardano-cli transaction build</code>, we can provide a datum value for each input UTxO with <code>--tx-in-datum-file</code> (or <code>--tx-in-datum-value</code>). And also, for each output UTxO we can provide a datum value with <code>--tx-out-datum-embed-file</code> (or <code>--tx-out-datum-embed-value</code>).</p>
