Closed papag00se closed 11 months ago
Ola from Eternl thinks their side of the bug is in CSL. That might explain why Lace does the same thing. He said they'll see what they can do to fix it on their side.
The way I called decodeTuple
was simply wrong, the tupleIdx
isn't the refScriptType (rather: the refScriptType sits at tupleIdx ==0)
v0.16.4 hopefully fixes this
Fixed! Thank you
Cbor.decodeTuple
takes a function as a 2nd param that gets called byCbor.decodeList
.Cbor.decodeList
will always pass in0
on the first iteration. When handling UTxO refScripts, the function that is passed in always throws an error forcase 0
. Therefore the other cases are never considered and the errornative refScript unhandled
is always thrown.Discord conversation for context: https://discord.com/channels/997177025972424815/997177141177352229/1153483324434686013
There is another problem with wallet DApps that incorrectly change that tuple key from a
2
(PlutusV2) to a1
when returning the UTxO via CIP-30. This compounds the problem with the above passed in function ascase 1
also fails. We have a ticket open with Eternl to fix this (Lace also does this).In order to get Helios to work with refScripts in a CIP-30 UTxO, we had to replace the following code:
with...