HeliosLang / compiler

Helios is a DSL for writing Cardano smart contracts. This library lets you compile Helios scripts and build Cardano transactions.
https://www.hyperion-bt.org/helios-book
BSD 3-Clause "New" or "Revised" License
139 stars 30 forks source link

no datum data available #75

Closed nemo83 closed 1 year ago

nemo83 commented 1 year ago

I've recently update to helios 0.13.16 and implemented ref input (that doesn't seem to be related).

The code is a nft raffle systems and after 7 tickets being correctly sold, now many users (me included) are seeing the error no datum data available

You shoudl be able to reproduce the error by attempting to buy a ticket on mainnet. https://www.easy1staking.com/nft-raffles# No need to actually sign the Tx, just press buy but never sign.

Here the tx json before calling finalise that eventually raises the error:

{
    "body": {
        "inputs": [
            {
                "txId": "9679f701ffd8b3564923a46b67c25804ae0ea344eb04a59400f432a36b03a4c3",
                "utxoIdx": "1",
                "origOutput": {
                    "address": {
                        "hex": "01217aefbdef3e9b08c43ac14c119a471382084e2aea777d6c9885d9d4acead18addb6e4f2ab14ddf9a2b442c3675e855639ba1083bad6089a",
                        "bech32": "addr1qysh4maaaulfkzxy8tq5cyv6gufcyzzw9t48wltvnzzan49vatgc4hdkune2k9xalx3tgskrva0g243ehggg8wkkpzdqa8s8qz"
                    },
                    "value": {
                        "lovelace": "2383430",
                        "assets": {
                            "1d7f33bd23d85e1a25d87d86fac4f199c3197a2f7afeb662a0f34e1e": {
                                "776f726c646d6f62696c65746f6b656e": "6268650260"
                            },
                            "29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6": {
                                "4d494e": "335097188"
                            },
                            "3f75c1332868430e28e156f6309836de8df19b620ab604c166741836": {
                                "5468654d616e6472696c6c7a31303133": "1"
                            },
                            "7ff73b0876c5506416ae1c04984ccf58cdb2a5d89542866e523b0b32": {
                                "43554c4f": "63956986828"
                            },
                            "a0028f350aaabe0545fdcb56b039bfb08e4bb4d8c4d7c3c7d481c235": {
                                "484f534b59": "4836149898"
                            },
                            "edfd7a1d77bcb8b884c474bdc92a16002d1fb720e454fa6e99344479": {
                                "4e5458": "6946825450"
                            },
                            "f0ff48bbb7bbe9d59a40f1ce90e9e9d0ff5002ec48f232b49ca0fb9a": {
                                "63727970746f6a6f65313031": "1"
                            }
                        }
                    },
                    "datum": null,
                    "refScript": null
                }
            },
            {
                "txId": "d81619eebbae8c87a6b7f777c1abaf490093f6e925ce385ff61dabe39575d0bf",
                "utxoIdx": "0",
                "origOutput": {
                    "address": {
                        "hex": "7166aa32a62792d582ed4d1990b880fea356f513fab1b0239c80674199",
                        "bech32": "addr1w9n25v4xy7fdtqhdf5vepwyql634dagnl2cmqguuspn5rxgx6sdck"
                    },
                    "value": {
                        "lovelace": "9000000",
                        "assets": {
                            "12efb6c78a821bfc8ab8b8dc6814aff9a695019ededa872df1b652bf": {
                                "47524f5733363236": "1"
                            }
                        }
                    },
                    "datum": {
                        "inlineCbor": "9f581c9860e4b40ea7c06903fc1a96f4448e1a616ed06f96ee62bf2e689d67a140a1401a000f4240059f581cd257c88a3a6b5811a727171b8a0fae5eb77926282763d115ac17f96d581cd257c88a3a6b5811a727171b8a0fae5eb77926282763d115ac17f96d581c4e4cc6f0588e6863a2cffb69f55d685d45fa6c1a7141a5bcb7695170581c5834339402f6bd810d57a87203feb467b602289e6cdce6d204216ce2581cf0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb581cf0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb581cf0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fbff181958206947bc5a6804fb750595191314f5ef64e6298a9067e2e699d362684a828d3f05581c515ce6857de331e662197a4336b2395781196723e170dc917f43e6921b000001879eadc100ff",
                        "inlineSchema": {
                            "list": [
                                {
                                    "bytes": "9860e4b40ea7c06903fc1a96f4448e1a616ed06f96ee62bf2e689d67"
                                },
                                {
                                    "map": [
                                        {
                                            "k": {
                                                "bytes": ""
                                            },
                                            "v": {
                                                "map": [
                                                    {
                                                        "k": {
                                                            "bytes": ""
                                                        },
                                                        "v": {
                                                            "int": 1000000
                                                        }
                                                    }
                                                ]
                                            }
                                        }
                                    ]
                                },
                                {
                                    "int": 5
                                },
                                {
                                    "list": [
                                        {
                                            "bytes": "d257c88a3a6b5811a727171b8a0fae5eb77926282763d115ac17f96d"
                                        },
                                        {
                                            "bytes": "d257c88a3a6b5811a727171b8a0fae5eb77926282763d115ac17f96d"
                                        },
                                        {
                                            "bytes": "4e4cc6f0588e6863a2cffb69f55d685d45fa6c1a7141a5bcb7695170"
                                        },
                                        {
                                            "bytes": "5834339402f6bd810d57a87203feb467b602289e6cdce6d204216ce2"
                                        },
                                        {
                                            "bytes": "f0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb"
                                        },
                                        {
                                            "bytes": "f0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb"
                                        },
                                        {
                                            "bytes": "f0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb"
                                        }
                                    ]
                                },
                                {
                                    "int": 25
                                },
                                {
                                    "bytes": "6947bc5a6804fb750595191314f5ef64e6298a9067e2e699d362684a828d3f05"
                                },
                                {
                                    "bytes": "515ce6857de331e662197a4336b2395781196723e170dc917f43e692"
                                },
                                {
                                    "int": 1681994400000
                                }
                            ]
                        }
                    },
                    "refScript": null
                }
            }
        ],
        "outputs": [
            {
                "address": {
                    "hex": "7166aa32a62792d582ed4d1990b880fea356f513fab1b0239c80674199",
                    "bech32": "addr1w9n25v4xy7fdtqhdf5vepwyql634dagnl2cmqguuspn5rxgx6sdck"
                },
                "value": {
                    "lovelace": "10000000",
                    "assets": {
                        "12efb6c78a821bfc8ab8b8dc6814aff9a695019ededa872df1b652bf": {
                            "47524f5733363236": "1"
                        }
                    }
                },
                "datum": {
                    "inlineCbor": "9f581c9860e4b40ea7c06903fc1a96f4448e1a616ed06f96ee62bf2e689d67a140a1401a000f4240059f581c9860e4b40ea7c06903fc1a96f4448e1a616ed06f96ee62bf2e689d67581cd257c88a3a6b5811a727171b8a0fae5eb77926282763d115ac17f96d581cd257c88a3a6b5811a727171b8a0fae5eb77926282763d115ac17f96d581c4e4cc6f0588e6863a2cffb69f55d685d45fa6c1a7141a5bcb7695170581c5834339402f6bd810d57a87203feb467b602289e6cdce6d204216ce2581cf0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb581cf0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb581cf0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fbff181958206947bc5a6804fb750595191314f5ef64e6298a9067e2e699d362684a828d3f05581c515ce6857de331e662197a4336b2395781196723e170dc917f43e6921b000001879eadc100ff",
                    "inlineSchema": {
                        "list": [
                            {
                                "bytes": "9860e4b40ea7c06903fc1a96f4448e1a616ed06f96ee62bf2e689d67"
                            },
                            {
                                "map": [
                                    {
                                        "k": {
                                            "bytes": ""
                                        },
                                        "v": {
                                            "map": [
                                                {
                                                    "k": {
                                                        "bytes": ""
                                                    },
                                                    "v": {
                                                        "int": 1000000
                                                    }
                                                }
                                            ]
                                        }
                                    }
                                ]
                            },
                            {
                                "int": 5
                            },
                            {
                                "list": [
                                    {
                                        "bytes": "9860e4b40ea7c06903fc1a96f4448e1a616ed06f96ee62bf2e689d67"
                                    },
                                    {
                                        "bytes": "d257c88a3a6b5811a727171b8a0fae5eb77926282763d115ac17f96d"
                                    },
                                    {
                                        "bytes": "d257c88a3a6b5811a727171b8a0fae5eb77926282763d115ac17f96d"
                                    },
                                    {
                                        "bytes": "4e4cc6f0588e6863a2cffb69f55d685d45fa6c1a7141a5bcb7695170"
                                    },
                                    {
                                        "bytes": "5834339402f6bd810d57a87203feb467b602289e6cdce6d204216ce2"
                                    },
                                    {
                                        "bytes": "f0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb"
                                    },
                                    {
                                        "bytes": "f0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb"
                                    },
                                    {
                                        "bytes": "f0ab755d2d48393eaf00cdc6d453b4608c48ae2539f099657f6cc2fb"
                                    }
                                ]
                            },
                            {
                                "int": 25
                            },
                            {
                                "bytes": "6947bc5a6804fb750595191314f5ef64e6298a9067e2e699d362684a828d3f05"
                            },
                            {
                                "bytes": "515ce6857de331e662197a4336b2395781196723e170dc917f43e692"
                            },
                            {
                                "int": 1681994400000
                            }
                        ]
                    }
                },
                "refScript": null
            }
        ],
        "fee": "0",
        "lastValidSlot": null,
        "firstValidSlot": null,
        "minted": null,
        "metadataHash": null,
        "scriptDataHash": null,
        "collateral": null,
        "signers": [
            "9860e4b40ea7c06903fc1a96f4448e1a616ed06f96ee62bf2e689d67"
        ],
        "collateralReturn": null,
        "refInputs": [
            {
                "txId": "b08691494c57ca04c8f1307ddfff43266f4b6718ca5f43c5eff137e193da21cd",
                "utxoIdx": "0",
                "origOutput": {
                    "address": {
                        "hex": "016edf7dc6262c1dcb004463d8bbcdeabeb3b9e1007a3144505b496b6efbe540842507ab8e28e2f98aadd9fcf3de5ea6344618dd16d0712125",
                        "bech32": "addr1q9hd7lwxyckpmjcqg33a3w7da2lt8w0pqparz3zstdykkmhmu4qggfg84w8z3che32kanl8nme02vdzxrrw3d5r3yyjsmlsyg2"
                    },
                    "value": {
                        "lovelace": "0",
                        "assets": {}
                    },
                    "datum": null,
                    "refScript": null
                }
            }
        ]
    },
    "witnesses": {
        "signatures": [],
        "datums": [],
        "redeemers": [
            {
                "data": "1{#9860e4b40ea7c06903fc1a96f4448e1a616ed06f96ee62bf2e689d67, 1}",
                "exUnits": {
                    "mem": "0",
                    "cpu": "0"
                },
                "type": 0,
                "typeName": "spending",
                "inputIndex": -1
            }
        ],
        "scripts": [],
        "refScripts": [
            "590ab4590ab101000032323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232323232322225333573464664a666ae68cdc3800a400024660606602e006602800c9801115054524143455f49535f41444d494e3a200015333573466e1c005200212533357346605e26605e2660606602e006606e0029811f581d54524143455f5349474e45445f42595f5041525449434950414e543a200013303030080064c11251524146464c455f4e4f545f46554c4c3a200013303032323322325333573466e1c005200414a02a666ae68cdc3800a4000294454ccd5cd001099b88375a6ae84d55cf1baa003375a00a266e24dd69aba135573c6ea800cdd68029aab9d375400460720026070606c002606a6064008601200c980112514245464f52455f444541444c494e453a200013232330311330323302a0020014c10b4a56414c55455f4f4b3a200013322330331330343301e3301d301f374e6604e6eb0c0440288cdd7800801800980900526121581f5041525449434950414e54535f544f4f5f4d414e595f5449434b4554533a20001330343301e3301d301f301100a001301000a4c11352544f4f5f4d414e595f5449434b4554533a20003039003303600333027303530355301d005323232374c660020026eacc064028894ccd55cf8008a5eb7bdb1804c8cd5d019bb035573a0026e98cc010010dd59aab9e00133003003357440046ae84004894ccd55cf8008a5eb7bdb1804c8cd5d019bb035573a0026ea0cdc11bad35573c002008660060066ae88008d5d08009bad3035002333301d0033037301f3037303730345301c004374e66ae80c050018cd5d0180a80319aba0300e006335740666600e00e601a00c606e002606800266ae80c030018cd5d0180580319aba0300a006335740601200c97ae04a2294048c8c8cc0c44cc0c44cc0c44cc0c454ccd5cd1981919191991192999ab9a3370e00290000a5015333573466e1c005200414a22a666ae680084cdc41bad005375a6ae84d55cf1baa0031337126eb4014dd69aba135573c6ea800cd55ce9baa002303b001303a3038001303a3034006300b0084c011655444541444c494e455f4e4f545f5041535345443a200014a2266064605c6014010981145354524143455f524146464c455f46554c4c3a20001330323375e601a0100049810d4c534545445f4d415443483a2000133032302e337126eb4c074c03c02120004c0112514e4f5f5041525449434950414e54533a20001330323375e6603466034660366ea0cdc1241b5736538106eb4005300103193039004c01051a8000000000301d300f00830240034c010e4d54524143455f494e4445583a2000133223232323233037133038330300020034c10e4d41444d494e5f56414c55453a200013303833303170e0080029810e4d5641554c545f56414c55453a2000333302400a301100d374e66ae80010cd5d0191998008009bac301500e375a6054012444a666aae7c0085854ccd5cd19b88001480005854ccd5cd19b87001480004d5d080109998018019aba200233702002900125eb81289815998138049192999ab9a3370e6aae74dd5000a4000266ebc014c0fccc0a0005200014a0607c607c002666058e0400c004cc0a8dd31998141bab002230313371e6eb8d55ce800a441004bd6f7b630260109a140a1401a001e848000303630365301e0063016008323750664464a666ae68cdc3801240c02a666ae68cdc3801a4004290000b0a999ab9a3370e004902d0a999ab9a3370e66e38011200248180584cdc1199800800a40009001240022666002002900024000444a666ae68cdc38008028801099980180199b8033704004900a192999ab9a3371200290390a999ab9a337129030000899b81001481805858cdc700300099b8000148008dc680099b8e00148000dcc1b99375c60700046ea4dc919b8a375c606e0026eb8c0d0004d55ce9baa003003303400114985888894ccd5cd1980b800a601010000100313333004004374e66ae80008dd60018011ba8337026eb400520022337106eb4c050c018004dd6980280091aba135744600e00246ae84c0180048d5d0980300091aba13006001235742600c00246ae84c0180048d5d1180100091aba23002001235744600400246ae88c0080048d5d1180200091aba1375800246ae84c0080048d5d11bac001223301937586ae84d5d1180e801119baf00100222375066e18dd68011bad00122375066e00dd68011bad00122337126eb4008dd68009191ba833001001375800444a666aae7c00452000133700660040046ae8800520022132323330010013758603c603c006466ebcc07c00400c8894ccd55cf8010b0a999ab9a30013574200426ae840084ccc00c00cd5d1001000980e180c800911118062999ab9a0011330080042330171330060010041325333573466e1cd55ce800a4008266ebc010d5d09aab9e00114a06ea8c0280044c8cc0240148cc0604cc01c0040144cdd7992999ab9a3370e6aae7400520021357426aae7800453001014000375460160020046ea4dca1bb300222325333573466e1cd55ce9baa001480084cdd7801180e18020008a50301b301b00223300200148008894ccd5cd19b8735573a6ea800800440085888dd3998021bac300300200123574260240024466600600400297ae02223233300100100400322253335573e00420082a666ae68c004d5d0801099aba0357420046660060066ae880080044ccc00c00cd5d100100091919998008009bac002223300500230130014c101a000222253335573e0062002266660080086ae8800c008cc008004d5d080191199801b80002001222332232374c6660020026601800600497adef6c6022253335573e00420022664464a666aae7c00440084cd5d019bb0003374c0020046644646660020026602600600497adef6c6022253335573e00420022664464a666ae68cdc3800a40002004266ae80cdd80019ba8001002330113301500700233015006002357420046660060066ae88008004cc03401c008cc034018008d5d08011998018019aba200200137560046eac00488ccc00c88c020cdc40010008010009111991191980080099805001801112999aab9f00114a2264a666ae68c02ccc88c8cc004004cc03c00c008894ccd55cf8008a511325333573460206601a6601e00a0026601e00800229404cc00c00cd5d10011aba1001330090050013300900400114a02660060066ae88008d5d08009bab002375600244646600200200644a666aae7c00452f5bded8c02a666ae68cdd79aab9d3574200200626eacd55cf1aba1001133002002357440024464666002002006004444a666aae7c0085200015333573466ebcd55ce9aba10020011375a6aae78d5d080109998018019aba20020012333573400294128911919191998008009998010010018020019112999aab9f001100213357406ae84004ccc00c00c008d5d10009112999aab9f00114bd700992999ab9a3300800523375e00200426660080080066ae880084cd5d00009998020020019aba200235573a6ae84004c8cc00400400c894ccd55cf8008a5eb804cd5d01aab9d35742002660040046ae8800488c8ccc00400400c0088894ccd55cf8010a5015333573460026ae8400852889998018019aba20020012253335734a0042a0022940880088d5d0980100091aba2357446ae88d5d11aba23002001235744600600246ae84c0080048d5d118020009199ab9a3370e6aae74dd5000a40009412891aba13002001235573c6ea8005"
        ]
    },
    "valid": false,
    "metadata": null
}
christianschmitz commented 1 year ago

inputIndex: -1 is definitely wrong. I'll investigate how that is possible

nemo83 commented 1 year ago

inputIndex: -1 is definitely wrong. I'll investigate how that is possible

Hey, any luck in finding the issue? I would really love to stick w/ helios in both onchain and offchain. Can I be of more help? Do you need more logs or examples?

lley154 commented 1 year ago

I'll take a look at this as well

lley154 commented 1 year ago

Issues has been identified and PR has been created for the fix. https://github.com/Hyperion-BT/helios/pull/77

nemo83 commented 1 year ago

Started to see:

error Error: submit tx failed: Error: 400:
0: {"provided":"4e0229f61667e1b96f9e25dd799c3d809c2180998b92581c94e74736caba7d0d","inferredFromParameters":"2d892ef1e40b2fa91912608158aa3fc57a5ebbcd75bb4387c7141ffb4ceb0319"}

Is this possibly related to the fix @lley154 ?

christianschmitz commented 1 year ago

Very interesting error @nemo83, never seen that before. Is that from submitting the tx with a wallet or with an API like blockfrost

nemo83 commented 1 year ago

This is fixed, but unfortunately I have something new. Opening new ticket