V1.0.0#70
Open
sembrestels wants to merge 133 commits into
Open
Conversation
…processing; enhance transaction handling with receipt log aggregation and error handling for missing receipts.
… evmcrispr to modules
The shared `stringLiteral` tokenizer state exited on the first quote of
either flavor, so JSON-like content inside a single-quoted string (e.g.
'{"key": "value"}') stopped being highlighted as a string after the inner
double quote. Split into separate `stringSingle` and `stringDouble` states
so each only terminates on its own delimiter, matching the core parser's
behavior.
Also pass --no-errors-on-unmatched to biome in lint-staged so files
excluded from biome's includes (like editor/evml.ts) don't break the
pre-commit hook.
Bumps @biomejs/biome to ^2.4.4 and runs `biome format --write .`. Most of the diff is biome 2.4 wrapping object literals and switch-case bodies that exceeded `lineWidth: 80`; biome 2.3.x was lenient about these. No behavioral changes.
Runs `biome check --write --unsafe` to apply lint fixes (mostly useTemplate, useImportType, noUnusedImports, noImportantStyles) and re-organize imports. Two spots needed targeted biome-ignores: - modules/std/src/commands/deploy.ts: `useLiteralKeys` rewrote `opts["constructor"]` to `opts.constructor`, which then resolves to Object.prototype.constructor (Function) and breaks the cast to string. - modules/aragonos/test/integration/commands/connect.test.ts: `useTemplate` rewrote `\`function \` + initializeSignature` to a template literal, which breaks viem's `parseAbiItem` type inference (it expects a string literal pattern, not an interpolated string). Made-with: Cursor
- packages/sdk/src/types/bindings.ts: replace `Function` on `DefValue.run` with a discriminated union (`DefCommandValue` | `DefHelperValue`) so each `run` is typed as `CommandFunction` / `HelperFunction`. Adds a default generic to `CommandFunction` so it can be referenced without an explicit module type. - packages/sdk/test/unit/type-validation.test.ts: prefix unused `sig` destructured argument with `_`. - scripts/generate-docs.ts: drop unused `readlinkSync` import. - biome.json: ignore `.turbo` cache files in the formatter.
Ensure package-local bunfig files still load the repo test preload now that Bun resolves the closest config. Made-with: Cursor
Share interpretation between execution, prewarm, and hover so helper and variable values can render richer address cards without new hover-time RPC calls. Made-with: Cursor
Made-with: Cursor
Code-splits Monaco out of the mobile critical path and introduces a Shiki-based read view with twoslash-style hover popovers for addresses, helpers, and variables. Adds a view/edit toggle whose preference rides along on shared links. Also fixes a TheDAO-class false positive in proxy detection by requiring implementation candidates to have deployed bytecode. Made-with: Cursor
Replaces Sourcify with Etherscan's unified V2 endpoint, gated by VITE_ETHERSCAN_API_KEY. The address-hover renderer drops the noisy "(unverified)" placeholder entirely and surfaces the implementation contract's name on proxies (with a "via proxy" tag) instead of the proxy shell's generic name. Also makes a tap on the script viewer flip into the editor — equivalent to the toolbar's Edit button — with carve-outs for hover-target taps and active text selections. Made-with: Cursor
Prewarms helpers used as direct args to non-binding commands (e.g. `print @token(DAI)`), which previously skipped the cache because the walker only visited `load`/`set`/`switch`. Hover now finds the cached address card for those calls too. Reformats the variable hover as a single-line `**Variable** $name = value` card, dropping the verbose "(variable)" tag and "defined on line N" hint. The address card, when present, lives in its own section so the renderer draws a divider between the two. Restyles the Monaco hover widget to match the viewer popover: shared palette via the editor theme, Ubuntu Mono typography, dark scrollbars, and a bright-green section divider between cards. The viewer's own divider is bumped up to match. Flushes the editor's pending debounced sync on unmount so toggling edit -> view within 150ms of typing no longer drops the latest text on the floor (the Monaco model survives at module scope, but the store -- which the viewer reads from -- went stale). Made-with: Cursor
The prewarm walker previously fed `getCommandsUntilLine` a hardcoded
list of `["load", "set", "switch"]`, silently skipping every other
binding-producing command. Hovering `$voting` after `install $voting
voting:0.1.0`, `$myDao` after `new-dao`, `$myToken` after `new-token`,
or any variable defined by `deploy`, `sign`, `for` returned "no info";
helpers nested inside a `connect myDao { ... }` block whose body the
cursor wasn't in never reached the helper cache either.
Replaces the allowlist with a new `getAllCommandsUntilLine(line)`
traversal that visits every command in DFS pre-order regardless of
block nesting. Per-command behaviour is now driven entirely by the
node itself: `argDef.type === "variable"` seeds the USER binding,
custom argDef types with a `resolve()` hook (`module`, `dao`, ...)
get invoked, and any `eventCaptures` / `errorCaptures` on the node
seed placeholder bindings for their slot variables (and `boolVar`),
mirroring the runtime's `applyDestructure` `$`-prefixing rule. New
binding-producing commands therefore participate in prewarm with no
allowlist edits.
Hover suppresses the noisy `**Variable** $foo = $foo` rendering when
the binding value is the placeholder name (i.e. the command can't
predict its runtime output yet), so `$myContract` from `deploy`
shows as `**Variable** $myContract` rather than restating itself.
Adds regression coverage for the `deploy`-style variable, the
`-> Evt(...) [$a $b]` event capture, and the `-!>` / `-?!>` error
capture (both destructure and boolVar shapes).
Made-with: Cursor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.