Releases / 0.2.4

Release 007

Release 007 · VEX 0.2.4

Prebuy launches work again.

An incident release. Anyone launching a token with a prebuy was hard blocked, and the launch path could write text on chain that no one can ever edit. Both are fixed, along with the regressions that should have caught them in the first place.

This page summarizes the work merged since 0.2.3.

Incident release · Prebuy launches unblocked

100%

Of launches with a nonzero prebuy were refused. The submit check compared the full amount to send against a creation fee, and those two match only at zero.

Two bars sharing a left edge, agreeing for a stretch and then not

01 · The incident

The two numbers that only matched at zero.

01

The fix. A launch with any prebuy refused with the launch cost changed since you were shown it, and pressing review new price produced the same refusal forever. The preview's identifier carries the creation fee read at a specific block, but the submit check was comparing it against the full amount to send, which is the fee plus your prebuy. Those two numbers are equal only when the prebuy is zero, which is why every zero prebuy launch worked and every other one was impossible. The check now compares the fee, as the identifier always intended.

02

The gap behind it. No test had ever driven a real preview into a real submit. One suite hand wrote an identifier of one shape while another asserted the opposite shape, and the two never met. That end to end path is now covered with a nonzero prebuy, so this class of mismatch cannot come back silently.

03

What it does not do. This release makes both sides agree on the fee. It does not yet bind the exact form you previewed to the one you submit, because the app keeps no record of the quote it issued. That work is designed and comes next.

02 · Launch metadata

Checked before it is permanent.

A line break or a double quote in a token's name, symbol, description, or links produced broken metadata for everyone reading that token, and create() writes those fields on chain permanently. VEX now refuses the text and names the field rather than quietly repairing it: a repaired string is not the string you reviewed, and the launch cannot be undone. The check runs on exactly what you typed, before any trimming, on every path into a launch. Emoji, accented letters, apostrophes, and dashes are unaffected.

03 · Previews

Better pricing, honest previews.

01

Every image looked broken, and did not. The dry run reported a digest mismatch for every staged image, fell back to simulating an empty one, and told you the launch would refuse. The launch would not have refused. Two parts of the app spelled the same hash differently, and the comparison now accounts for that, so the gas estimate reflects the image you actually staged, which is several times higher than an empty image estimate.

02

The preview can price a prebuy. Pass one and the simulation, the gas estimate, the fee, and the totals all include it, instead of leaving the arithmetic to be done by hand. The affordability verdict now states which scenario it priced.

03

A launched token appears in your balances. VEX pins it for you when the launch confirms, so you no longer have to add it by hand to see what you just paid for.

04 · Engineering

Under the hood.

01

The agent's own instructions stay out of your chat. In one session the model printed parts of its operator instructions into the conversation, including wallet addresses. The instruction blocks are now explicitly delimited, with a stated rule never to repeat them, and text pulled in from documents or memory cannot forge those delimiters.

02

One definition for the metadata limits. Name, symbol, description, and link limits now live in one place shared by every part of the app that checks them, so they cannot drift apart.

05 · Before you update

Upgrade notes.

One new database migration ships in this release. It runs automatically on first start. No manual action is required.