1

I am running one smart contract with the Nami Wallet but I get this error:

""transaction submit error ShelleyTxValidationError ShelleyBasedEraAlonzo (ApplyTxError [UtxowFailure (WrappedShelleyEraFailure (UtxoFailure (UtxosFailure (ValidationTagMismatch (IsValid True) (FailedUnexpectedly [PlutusFailure \"\\nThe 3 arg plutus script (PlutusScript ScriptHash \\\"4b8980baf5b09f3573f26e100df813dd24a619d78188b9d56471e51f\\\") fails.\\nCekError An error has occurred:  User error:\\nThe provided Plutus code called 'error'.\\nThe data is: Constr 0 [B \\\"\\\\220\\\\166\\\\ETXW\\\\DC2\\\\241d\\\\219/\\\\153\\\\199\\\\DC4\\\\EOT\\\\211\\\\146\\\\DC1]+\\\\221\\\\227f\\\\251\\\\190\\\\&5\\\\154\\\\224\\\\US\\\\GS\\\",I 5000000,B \\\"\\\\233>\\\\198 \\\\150\\\\&1Q\\\\ETB\\\\DC3\\\\184\\\\&2\\\\229\\\\&"

It is from the Martify Repo https://github.com/MartifyLabs/martify.contracts in the buy endpoint. I just wanted to be sure.. The error comes from plutus contract not validating right? since there are not datum or another related error in the transaction that i can read. It is related to this post Cardano-cli error when submitting transaction when they get the same error in the cancel endpoint.

My doubt comes from the fact that the console does not logs the error messages provided in the on-Chain code:

{-# INLINABLE mkBuyValidator #-}
mkBuyValidator :: PubKeyHash -> NFTSale -> SaleAction -> ScriptContext -> Bool
mkBuyValidator pkh nfts r ctx =
    case r of
        Buy    -> traceIfFalse "NFT not sent to buyer" checkNFTOut &&
                  traceIfFalse "Seller not paid" checkSellerOut &&
                  traceIfFalse "Fee not paid" checkFee
        Update -> traceIfFalse "No rights to perform this action" checkUser &&
                  traceIfFalse "Modified datum other than price" checkDatum &&
                  traceIfFalse "NFT left the script" checkContinuingNFT
        Close  -> traceIfFalse "No rights to perform this action" checkUser &&
                  traceIfFalse "Close output invalid" checkCloseOut

So before start debugging i would like to know i am looking at the right place, I assume this traces are not shown because of the maximum size of the printed error that Nami allows, am I right?

1 Answer 1

2

Yup, it seems like the validation for your script fails, usually, when that happens you'll get this error ValidationTagMismatch (IsValid True) (and you got it).

There is probably something wrong with either datum or redeemer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.