Check if you created your stake / payment
key pair on step 7 with the mnemonic method from Daedalus 2.0 before July 30, 2020.
Run the following to see if you're affected
cd $NODE_HOMEwc -m payment.addr
If this returns 59 payment.addr
,
then continue reading. If this returns 104 payment.addr,
you are not affected!
The balance towards your stake is not being counted because the script's default, payment.addr
, is also known as the enterprise address.
By design, enterprise address balances are not counted as stake.
The public address found in base.addr
should have been funded. In other words, base.addr
should have been the real payment.addr
.
Check your stake balance by running the following query to find all your stake pool's delegators.
cd $NODE_HOMEpool_id=$(cat stakepoolid.txt)timeout -k 5 60 cardano-cli shelley query ledger-state ${NETWORK_IDENTIFIER} --out-file ledger-state.jsonecho "Ledger state dumped, parsing data..."non_myopic_delegators=$(jq -r -c ".esNonMyopic.snapNM._delegations | .[] | select(.[1] == \"${pool_id}\") | .[0][\"key hash\"]" ledger-state.json)snapshot_delegators=$(jq -r -c ".esSnapshots._pstakeSet._delegations | .[] | select(.[1] == \"${pool_id}\") | .[0][\"key hash\"]" ledger-state.json)lstate=$(jq -r -c ".esLState" ledger-state.json)lstate_dstate=$(jq -r -c "._delegationState._dstate" <<< "${lstate}")ledger_pool_state=$(jq -r -c '._delegationState._pstate._pParams."'"${pool_id}"'" // empty' <<< "${lstate}")lstate_rewards=$(jq -r -c "._rewards" <<< "${lstate_dstate}")lstate_utxo=$(jq -r -c "._utxoState._utxo" <<< "${lstate}")lstate_delegators=$(jq -r -c "._delegations | .[] | select(.[1] == \"${pool_id}\") | .[0][\"key hash\"]" <<< "${lstate_dstate}")delegators=$(echo "${non_myopic_delegators}" "${snapshot_delegators}" "${lstate_delegators}" | tr ' ' '\n' | sort -u)echo "$(wc -w <<< "${delegators}") delegators found, gathering data for each:"pledge="$(jq -c -r '.pledge // 0' <<< "${ledger_pool_state}" | tr '\n' ' ')"owners="$(jq -c -r '.owners[] // empty' <<< "${ledger_pool_state}" | tr '\n' ' ')"owner_nbr=$(jq -r '(.owners | length) // 0' <<< "${ledger_pool_state}")delegators_array=()delegator_nbr=0total_stake=0total_pledged=0for key in ${delegators}; dostake=$(jq -r -c ".[] | select(.address | contains(\"${key}\")) | .amount" <<< "${lstate_utxo}" | awk 'BEGIN{total = 0} {total = total + $1} END{printf "%.0f", total}')rewards=$(jq -r -c ".[] | select(.[0][\"key hash\"] == \"${key}\") | .[1]" <<< "${lstate_rewards}")total_stake=$((total_stake + stake + reward))echo "Delegator $((++delegator_nbr)) processed"if echo "${owners}" | grep -q "${key}"; thenkey="${key} (owner)"total_pledged=$((total_pledged + stake + reward))fidelegators_array+=( "hex_key" "${key}" "stake" "${stake}" "rewards" "${rewards})" )doneecho total_stake $total_stakeecho total_pledged $total_pledgedecho delegator_nbr $delegator_nbrprintf '{"%s":"%s","%s":"%s","%s":"%s"},\n' "${delegators_array[@]}" | sed '$s/,$//'
If you see stake is 0 for the owner, then the issue exists.
Example output:
{"hex_key":"70f2... (owner)","stake":"0","rewards":"0)"},
1) Find your base.addr
public address.
cat $NODE_HOME/extractedPoolKeys/base.addr
2) Open Daedalus wallet which is where your mnemonic was originally created from.
3) Send a small test amount to the base.addr
public address.
4) Re-run the above query to check your delegator's balances. Your owner's stake balance should have increased.
5) Send the remaining balance to base.addr
public address.
6) Re-run the above query to verify your stake is correctly counted.
7) Replace the old payment.addr
with base.addr
cd $NODE_HOMEcp extractedPoolKeys/base.addr payment.addr
If you need assistance, please visit our Telegram Channel.