Resubmitting New Registration Certificate - utxo output too small

Hello,

Running into an issue upon pool registration. I submitted it originally and the hash didn’t match so that is what I am trying to remedy. Confirmed the hash was bad via these steps: Stake pool is not shown in Daedalus – IOHK Support

At the end of that article, they say "submit a new registration certificate for your pool using the correct metadata hash as shown here "

I was originally following this guide - step 12 (FYI if that’s helpful to know where it went awry originally.) register-your-stake-pool

Steps Taken -
I have generated the new hash of my pool metadata and used that to generate a new pool and delegation cert.

But after rebuilding my pool cert and delegation cert I build a new transaction with this (again using some of the scripts in the step 12 link above to generate the tx-in, slot, and fee):

cardano-cli transaction build-raw \
    ${tx_in} \
    --tx-out $(cat payment.addr)+0  \
    --invalid-hereafter $(( ${currentSlot} + 10000)) \
    --fee ${fee} \
    --certificate-file pool.cert \
    --certificate-file deleg.cert \
    --allegra-era \
    --out-file tx.tmp

^ Seems to work fine. Signing the transaction seems to work as well.

Then I submit the transaction with this:

cardano-cli transaction submit \
    --tx-file tx.signed \
    --mainnet

And I receive the following error:

Shelley command failed: transaction submit Error: Error while submitting tx: ApplyTxError [LedgerFailure (UtxowFailure (UtxoFailure (ValueNotConservedUTxO (DeltaCoin 17622402) (DeltaCoin 195377)))),LedgerFailure (UtxowFailure (UtxoFailure (OutputTooSmallUTxO [(Addr Mainnet (KeyHashObj (KeyHash “6984af7595d3a46eb937fc9a2616f4ded943ed4f4ee279b21fe4afcb”)) (StakeRefBase (KeyHashObj (KeyHash “5f5640033983b87636b2c87c13df4784765ac8d7a1d2623f7b284843”))),Coin 0)])))]

I also tried building the transaction tx-in manually like this :
--tx-in 253e233a6b262aed75fce1819903f8d56cd31b23d56e204717424451cc287055#0 \

And I receive the same result - UTxO output too small.

Can anyone point me in the right direction of where I’m messing up? Do I need to include the minimum of 1000000 lovelace on tx-out transaction in addition to the address for this to work or am I missing something totally different?

Thank you kindly

What was your UTXO output when you put in the command? Make sure you input the commands all in succession so they will create the tx.raw file correctly. And if its your first time registering your pool you need 500 ADA and some to cover the fees.

Going to sleep soon, but make sure your inputing all the steps in order, and getting a tx.raw file. Send that to your tx.raw file to your cold environment to sign, then try to sign the transaction again in your hot environment.

Thank you for your reply.

Here is the current output of my utxo:

# cardano-cli query utxo \
>     --address $(cat payment.addr) \
>     --allegra-era \
>     --mainnet
                           TxHash                                 TxIx        Amount
--------------------------------------------------------------------------------------
253e233a6b262aed75fce1819903f8d56cd31b23d56e204717424451cc287055     0        17622402 lovelace

I can do all the steps again in order but I was afraid of overwriting something. The 500 ada has already been deducted from my first request… Does that matter?

I can redo all the steps, but the funds are not there anymore so I got a negative balance error. The steps in my post are how I was attempting to overcome that and get the proper cert and delegation synced.

Sorry if these are dumb rookie questions, I’m still trying to learn. :slight_smile:

Edit - When I go through the steps again, here is my tx out which is of course preventing me from submitting the transaction

# echo txOut: ${txOut}
txOut: -482572975

Don’t add the 500,000,000 lovelace next time, you only need to pay once. I messed up my pool.cert a few times and had to redo things. Part of the coincashew guide says how to change pledge or pool.cert parameters or something without being charged again. Basically if you see 500,000,000 in one of the commands don’t sign that.

I’m still a beginner so I won’t be able to help too much.

The first time I tried doing it, it wouldnt work. And I had no idea, so I just did the steps over again. But yeah make sure you don’t get charged again, that 500 goes back to you if you deregister your pool. But you shouldnt need to add the payment, just skip that part when changing your pool cert

We are all learning together. I really appreciate your help Anti. Thanks for the words of encouragement. I’m a fast learner but still figuring this out. Glad to hear you didn’t break anything too badly your first time around. That gives me hope.

I’ll do as you suggest and start a few steps back again and will post an update. I did find what you are referring to in the guide. But that will have to wait for tomorrow… My eyes hurt. lol

Worst case sceneario you just redownload all your config files again. I got my 2 relays talking now, was very tasking, asking questions all day for days to finally get them working. If you get stuck just DM me, ill try to help if no one is responding.

Thank you, I got it connect and verified properly!
For others who may have the same issue, my resolution was I redid all the steps again starting from step 12 on the coincashew guide, but on this step:

cardano-cli transaction build-raw \
    ${tx_in} \
    --tx-out $(cat payment.addr)+$(( ${total_balance} - ${poolDeposit}))  \
    --invalid-hereafter $(( ${currentSlot} + 10000)) \
    --fee 0 \
    --certificate-file pool.cert \
    --certificate-file deleg.cert \
    --allegra-era \
    --out-file tx.tmp

I did this instead:
cardano-cli transaction build-raw
{tx_in} \ --tx-out (cat payment.addr)+0
–invalid-hereafter (( {currentSlot} + 10000))
–fee 0
–certificate-file pool.cert
–certificate-file deleg.cert
–allegra-era
–out-file tx.tmp

And instead of this:
txOut=(({total_balance}-{poolDeposit}-{fee}))
echo txOut: ${txOut}

I did this:
txOut=(({total_balance}-{fee})) echo txOut: {txOut}

Unfortunately, I fat-fingered my pledge amount to 50ada rather than 500ada so now I need to go and fix that somehow.

Screen Shot 2021-02-24 at 11.03.34 PM

EDIT - I followed the same steps again and I was able to resubmit another transaction with the correct pledge amount. :slight_smile:

1 Like

you will need to rebuild the transaction but without paying again 500 ADA, because u already paid the pool registration tax.

Cheers,

Thank you Alexd. I have it all set up and online and functional now.

I do have 1 more question though… on adapools here It says my ada pool is has a “Missing Pledge”. I understand that is because I paid the 500ada fee, but I also pledged an addition 500ada which needs to be funded.

My question is what address do I send those funds to from my Yoroi wallet?

Do they go to the stake.addr or to the payment.addr?

Hello,

Please see the file and u will get it

image

image

Cheers,

Got it!

Thank you again :slight_smile:

1 Like