You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I believe there is a bug in adjustUnbalancedTx. It shouldn't filter the outputs that contain zero value, otherwise, when running a transaction generated by:
PaysToScript scriptAddr (someDatum, mzero)
the output that actually pays to the script will be silently filtered out, the transaction will be send and it might actually succeed; even though the transaction that was send DOES NOT satisfy the constraints it was generated from.
As it turns out, this is more messy than I expected, really. This feature is, in fact, very messy.
Take our PMultiSigStateful contract. Now, the creation of the proposal has to have enough funds on it. If it happens to have less funds on it but we call adjustUnbalancedTx, we can't use the paymentValue when issuing the payment because we'll get a ValueNotPreserved.
Moreover, every Sign UTxO has to have 2 ada on them. Alright! But what happens to these ada when the payment is issued? Do we return them to their owners? How about users that created an additional Sign datum? In this case, that will stay locked forever. In order to speed up merging of #42, I went the easy road and decided that all these collected minAda will be given to the receiver of the payment, so we don't have to keep nearly as much information around.
I believe there is a bug in
adjustUnbalancedTx
. It shouldn't filter the outputs that contain zero value, otherwise, when running a transaction generated by:the output that actually pays to the script will be silently filtered out, the transaction will be send and it might actually succeed; even though the transaction that was send DOES NOT satisfy the constraints it was generated from.
Another aspect to keep in mind is the fee and keep track of this issue: IntersectMBO/plutus-apps#143
The text was updated successfully, but these errors were encountered: