Skip to content

2.0.7

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Oct 16:23
· 702 commits to main since this release
4bca8bf

Caution

Critical upgrade for mainnet. yaci-store 2.0.6 and earlier lose the transactions of mainnet block 14,053,493. Mainnet instances that synced past slot 200,136,161 (2026-10-11 07:07 UTC) have bad data or have stopped syncing. Upgrade to 2.0.7, then run the repair script below.

What's Changed

Fix: mainnet sync stops at block 14,053,494

yaci-store 2.0.6 and earlier read mainnet block 14,053,493 as having no transactions, when it actually has 137. This release fixes that by upgrading yaci to 0.4.7. https://github.com/bloxbean/yaci/releases/tag/v0.4.7

If your instance synced past this block on an older version:

  • With ledger-state enabled: sync stops at block 14,053,494 with the error Utxos not found for all ids.
  • Without ledger-state: sync keeps running, but that block's 137 transactions are missing.

Am I affected? Run:

SELECT count(*) FROM transaction WHERE block = 14053493;

If the result is less than 137, follow the repair steps below. Instances that haven't reached this block yet only need to upgrade. Preprod and preview aren't affected.

Repair steps (PostgreSQL)

Upgrading alone doesn't fix data that's already been stored. The repair script moves the sync back one block so the block is fetched again with the fix.

  1. Upgrade to 2.0.7.

  2. Stop yaci-store, keeping postgres running. For the Docker distribution, run this from the install folder:

    ./yaci-store.sh stop:yaci-store
  3. Download the script into the install folder:

    curl -O https://raw.githubusercontent.com/bloxbean/yaci-store/v2.0.7/scripts/repair/repair-mainnet-block-14053493.sql
  4. Run the DB repair script

    From the psql prompt

    1. Open psql with the psql.sh that comes with the Docker distribution:
      ./psql.sh
      Or open it directly:
      docker compose -f compose/postgres-compose.yml exec yaci-store-postgres psql -U yaci -d yaci_store
    2. Set the schema:
      SET search_path TO yaci_store;
    3. Open repair-mainnet-block-14053493.sql in a text editor, copy all of it, and paste it into the prompt.

    Change the user, database or schema if yours are different. If the script prints Cursor moved … back to 200136161, it worked. If it hits an error, nothing is changed.

  5. Start yaci-store:

    ./yaci-store.sh start

    Then check that SELECT count(*) FROM transaction WHERE block = 14053493; returns 137.

The script is safe to run on any database. It changes nothing on non-mainnet databases, on instances that haven't reached the block, or on instances that are already correct.

  • [2.0.7] fix: upgrade yaci to 0.4.7 (mainnet block 14053493 sync stall) + repair script by @satran004 in #1247

Full Changelog: v2.0.6...v2.0.7