Is my ADA locked forever in this contract?

Hi
I am trying to create NFTs using the git repo.
I did the following first step and I locked ADA. Even though this transaction succeeded I am not sure if it’s correct or even it’s the first to do.

I tried to unlock ADA, but I got an error. Here are everything I did:

PAYMENT_VKEY=~/wallet-test-mainnet/account-payment-0.vkey
# pass token as hex
NFT_NAME="NFT NAME" && NFT_NAME=$(xxd -pu <<< "$NFT_NAME") && echo $NFT_NAME
# pass currency symbol as hex
CURRENCY_SYMBOL="NFT NAME" && CURRENCY_SYMBOL=$(xxd -pu <<< "$CURRENCY_SYMBOL") && echo $CURRENCY_SYMBOL
# cardano-cli address key-hash --payment-verification-key $(cat $PAYMENT_VKEY)
PAYMENT_HASH=$(cardano-cli address key-hash --payment-verification-key-file $PAYMENT_VKEY)
# set if all argument needed to smart contract are set correctly 
echo $CURRENCY_SYMBOL && echo $NFT_NAME && echo $PAYMENT_HASH
# Create utxo counter 
cabal run plutus-horrocubes-counter $CURRENCY_SYMBOL $NFT_NAME $PAYMENT_HASH plutus-counter.plutus

Up to date
wrote NFT policy to file plutus-counter.plutus
"Log output"
[]
"Ex Budget"
ExBudget {exBudgetCPU = ExCPU 18757090, exBudgetMemory = ExMemory 63100}
434359540a
(434359540a,"434359540a")
{"constructor":0,"fields":[{"int":0},{"int":3}]}


# Create payment address for the script 
cardano-cli address build --payment-script-file plutus-counter.plutus --mainnet --out-file plutus-counter.plutus.addr

#
PAYMENT_SCRIPT_ADDRESS=~/wallet-test-mainnet/tx-plutus-counter.plutus.addr

# Create datum 
DATUM_HASH_01=$(cardano-cli transaction hash-script-data --script-data-file counter-01.json)

# Make sure we have the protole file 
cardano-cli query protocol-parameters --mainnet --out-file parameters.json

# Check if all necessary arguments are set to build the tx 
echo $DATUM_HASH_01 && echo $TXHASH && echo $TXID && echo $PAYMENT_ADDRESS

# Build the tx
cardano-cli transaction build \
--alonzo-era \
--mainnet	\
--change-address $(cat $PAYMENT_ADDRESS) \
--tx-in $TXHASH#$TXID \
--tx-out $(cat plutus-counter.plutus.addr)+20000000 \
--tx-out-datum-hash ${DATUM_HASH_01} \
--protocol-params-file parameters.json \
--out-file nft-plutus-counter.build

# Sign the tx 
cardano-cli transaction sign \
--tx-body-file plutus-counter.build \
--signing-key-file $PAYMENT_KEY \
--mainnet \
--out-file plutus-counter.signed

# Submit tx
 cardano-cli transaction submit --mainnet --tx-file plutus-counter.signed

# Smart contract 
# Datum hash da0f0f93306fdd9c5de3c2483415adb34378858f8af4a06d250279a7727f21d4 
# https://cardanoscan.io/address/714504b7788c203abae23a143bce512641bcb97cf63d71a1419c228ef7
# tx from payment address
# https://cardanoscan.io/transaction/41d5809207b52e3492b0583338efddc358e340bb2c1b4f97ba78429ac71822d2 

Trying to unlock ADA

SCRIPT_ADDRESS=addr1w9zsfdmc3ssr4whz8g2rhnj3yeqmewtu7c7hrg2pns3gaact8qz7v

cardano-cli transaction build \
--alonzo-era \
--mainnet  \
--tx-in-collateral $UTXO#$UTXO_IN \
--tx-in 41d5809207b52e3492b0583338efddc358e340bb2c1b4f97ba78429ac71822d2#1 \
--tx-in-script-file transactions/counter-old/tx-plutus-counter.plutus \
--tx-in-datum-file transactions/counter-old/counter-01.json \
--tx-in-redeemer-file transactions/counter-old/counter-01.json \
--tx-out "$SCRIPT_ADDRESS+1758582+1 $POLICY_ID.$NFT_NAME" \
--tx-out-datum-embed-file datum1.datum \
--change-address $(cat $PAYMENT_ADDRESS) \
--protocol-params-file parameters.json \
--required-signer $PAYMENT_KEY \
--out-file unclock-counter-alonzo.tx

Command failed: transaction build Error: The following scripts have execution failures:
the script for transaction input 0 (in the order of the TxIds) failed with:
The Plutus script evaluation failed: An error has occurred: User error:
The provided Plutus code called ‘error’.
Script debugging logs: Identity NFT missing
Pd

I am using cardano-cli cardano-cli 1.33.0 - linux-x86_64 - ghc-8.10.
I trying to pass the NFT_NAME as string but cardano-ci gives an error, I think this is because the release 1.32.1 so I converted the name to hex.

But I think I should not have passed NFT_NAME as hex to the script.
cabal run plutus-horrocubes-counter $CURRENCY_SYMBOL $NFT_NAME $PAYMENT_HASH plutus-counter.plutus

Can you please help to unlock ADA.?

Did it work on the testnet?

1 Like