Skip to content

Version 1.4.2.0 HOTFIX MANDATORY UPDATE

Latest

Choose a tag to compare

@seanPhill seanPhill released this 02 Jul 14:30

TLDR for the TLDR

The crisis is over. The prodigal sons have returned, and the wallet will simply sync as normal. As a precaution, check the block height (on explorer.veil-project.com) and only run the later described command if your old wallet is stuck and won't sync.

TLDR—

While there were many improvements ready for this update since v1.4.1.0 the
URGENT prompt that prompted this release at this time was an exploit on the 28th of June, 2026 where invalid Veil was created in Stealth (CT) funds, which stalled the chain for many hours.

The entire chain was then scanned and eight "poisoned" blocks were identified, the first of which was at block height 3890103 with the now invalid block ID of 913780c878021677e2c5fc471016c8db5e1acf5e705ed48c413525bff85009fc.

Because of this, if you have synced beyond the height 3890103 before the Veil core wallet builds on June 28th, 2026, then you need to manually invalidate the block in the Debug Console or the command line interface (or Terminal) with

invalidateblock 913780c878021677e2c5fc471016c8db5e1acf5e705ed48c413525bff85009fc

The wallet updated builds were made available the same day from the Github Actions tab, but, and I profusely apologise, in the rush, it was not placed here in the Releases section!

Steps to install this upgrade

    1. Either in the old wallet before shutting down or in the new wallet after startup
    • invalidateblock 913780c878021677e2c5fc471016c8db5e1acf5e705ed48c413525bff85009fc
      • Note, that the official snapshots on veil.tools also will fix this, but this command saves an unnecessary download of many GigaBytes of data and a more complicated process.
    • Wait until the command completes.
    • If you are on the old wallet,
    • clearmempool # this removes unconfirmed transactions from the memory pool
    • clearbanned # this unbans good chain peers so you can sync the new wallet
      • Good (or the canonical) chain peers may have you banned for up to 24 hours! Using a different IP address, if possible, may make your next sync faster, or try to sync from another local wallet computer that is on the good chain.
    • stop the wallet.
    1. Install this wallet v1.4.2.0
    • Choosing the appropriate binaries for your operating system and computer architecture, such as commonly,
      • macOS → macosx-binaries
      • Linux / Ubuntu → x86_64-linux-binaries
      • Windows → win64-binaries
    • Copy the binaries over top of the old ones, (such as by dragging and dropping from inside the mounted macOS DMG into the Applications folder, or unzipping the Windows or Linux ones and dropping them into the folder where the old ones are).
    1. On start up it will synchronise blocks from whichever other peers are on the network.
    1. If you have transactions since or on June 28th 2026 on the rejected chain you may need to
    • rescanblockchain 3890102
    • Do any related accounting as a matter of urgency.

What's Changed

  • [Github actions] RISCV64 by @steel97 in #1036
  • Fixed build by @steel97 in #1038
  • [Github actions] Updated actions by @steel97 in #1042
  • Fix compilation under gcc 13 by @philmb3487 in #1039
  • Enhanced FAQ Section: Updated Staking, Mining, and General Guidance by @ohcee in #1043
  • Upgrade GitHub Actions Ubuntu runners from 20.04 to 22.04 by @ohcee in #1049
  • Light Wallet Upgrades, Ubuntu 24 Support by @blondfrogs in #1047
  • Fix macOS CI build issues (libtinfo + fcommon) by @ohcee in #1050
  • Batch Zerocoin Database Write to Improve Sync Speed by @ohcee in #1051
  • Fix/bech32 address handling by @ohcee in #1059
  • Fix/spendzerocoinmints help 1045 by @ohcee in #1058
  • Zerocoin sync optimization by @ohcee in #1056
  • CI: update GitHub Actions to v5/v6/v7 for native Node.js 24 support by @ohcee in #1061
  • Reject stealth and RingCT coinbase outputs after rollback height by @nik343 in #1062

New Contributors

Full Changelog: v1.4.1.0...v1.4.2.0

20260716: Uploading the PGP key used to sign these. Thanks to the person who alerted me that I hadn't included it in this release.

-----BEGIN PGP PUBLIC KEY BLOCK-----

mQENBFwyLl0BCACUVgsY22I+PNHKtApSt2HupJMbRXzQEF1tBunmiso6Nm8vdoAa
wV9xEtbdAczGfi/JrtVIzgxT5B+8mYulVe2BXIGTFsmqNj6AtypkU1uxfOBzHwwc
Ab0xBorucPPKty14Y/fuacPcOlyh4Tu5p21stmNbnQ0M+IN20um4ngAVdgwjCjnr
7iDeARTpk6idc9m8MrTLhKmVlEk26/4RPX8SKt4dy4ZIs3mLNVAgtYRjf3uMoA99
fkJdQeER3RYNQCRcOryR0S2FjfKFRFnUtkfnoPZC7/gXJ8bWYhcPg4jCFEVYxu8a
MGW5uJ/KJ1McDIIc+VN+qgm6ZjP7TUxu5SP3ABEBAAG0HSJzZWFucGhAcG0ubWUi
IDxzZWFucGhAcG0ubWU+iQE1BBABCAAfBQJcMi5dBgsJBwgDAgQVCAoCAxYCAQIZ
AQIbAwIeAQAKCRAyWuqITW8ubOb9B/48DbDBT7wT5n72Q3BJH+7YEh6LsVYVqJVh
LTKz0b4oQaogYyX4u48YEDy4CiWiJDiJB7kVxGpJGE1NXhH+NJ+8JRLSj2YYlMyA
VPlD1QqXmfNPsH9ZNP4gcfOLABfZnJTJE94SEezo8e6bab35soalkcS/Qaeyez+v
CMlD2DXQt3EN2c6sCefPho4knH60pilz46H/cvKOY5Bsuzq9jzU8/F1v6R0xD3hb
XVOuR+r4tKNpNED/kqy8pGlLBTDcqfgBVROrZ635UxnBpcDQ4wmjFEv0v5Rp08X+
eYpbuHYifqoq1BcJu/TRMuM0wxRJfxc+Mjx1KmtKw0n3nY1p7+F4uQENBFwyLl0B
CADBeKZ9oXJ91kj58PDq9tTbl9p5fgYORy+1G5LuPc9VDNvJt0YjVkVhsVMFAvkU
VVYn6znvLFsE9s7AWmyF7+4HallnBFPadrmPAaXglw0fH2RaoPiKGPCi8t2okCwO
WagF4d/fQh+vIlCTO+hrwtpbYykqo9dll2VyY1oVYbJYhvSm0DHNgwABZwnP5HYP
mKwMLuK/7E0Io1PAyUADNj3TsaWE0h7D3KNrd5mUqGBl0ooIi4q2SKsfgsfJpPBv
aYBcokgb95fFWfE2gS3CqolCXiy2+PYKBvlNQxM3m7GAicPno9gSskxZYodwEtnw
T8SzEBa5E0kYNbEQjX3jLXvZABEBAAGJAR8EGAEIAAkFAlwyLl0CGwwACgkQMlrq
iE1vLmyXMwf+I8u4r6XymEzsq9sMachfHGDQjjGXEAWBDwP8Di1WoPV5mDCBERzH
DZDbV3aRpshxoUd+MHixmYvu1zC3c78pIGseflqei0CguD2c0rFTicohdi9buySs
MxCYRIs/JNSM3c5XaeqIXuhxVNqIvamqDjtQuwQeXt4LXryGfSRfFsxnSBnuTNAF
cNOSA4n2qDxgTWAU8rUjwI/ujSmxRTStq6W31h9lVBeWlX0HayzjMiN7Er0T5Mrp
+FYYYLLq+zZMENRAOC0dDHeXEnO72odz8PilKFtYBFD2aDBiorQvDbONuFp3b1Tb
G2s2FatqR+uHARXohEiBcs8zoWxj0BUZkw==
=uTe7
-----END PGP PUBLIC KEY BLOCK-----