Skip to content

Conversation

@nazreen
Copy link
Contributor

@nazreen nazreen commented Jan 20, 2026

Problems

Closes #1155 - bug: Re-running npx hardhat lz:oapp:init:solana returns "OApp is wired, no action is necessary" when it's in fact not wired.
Closes #1028 - bug: npx hardhat lz:oapp:config:get:default broken in upgradeable example
Closes #1066 - bug: lz:deploy requires deploy task name matches contractName


#1155 - bug: Re-running npx hardhat lz:oapp:init:solana returns "OApp is wired, no action is necessary" when it's in fact not wired.

Changes

  • packages/devtools/src/flows/wire.ts: added configurable noActionMessage parameter.
  • packages/ua-devtools-evm-hardhat/src/tasks/oapp/wire/index.ts: threaded noActionMessage through the task.
  • examples/oft-solana/tasks/solana/initConfig.ts: passed custom message and removed TODO.
  • examples/lzapp-migration/tasks/solana/initConfig.ts: passed custom message for consistency.

Example run

examples/oft-solana $ npx hardhat lz:oft:solana:init-config --oapp-config layerzero.config.ts
bigint: Failed to load bindings, pure JS will be used (try npm run rebuild?)
info:    Using Solana keypair from SOLANA_PRIVATE_KEY => EKXXXF8kzh4Bnq1HBHVwZgA5egJJWLDYqXmJTQtbbd5D
(node:72759) [MODULE_TYPELESS_PACKAGE_JSON] Warning: Module type of file:///Users/user/Documents/repos/lz-org/devtools/examples/oft-solana/layerzero.config.ts is not specified and it doesn't parse as CommonJS.
Reparsing as ES module because module syntax was detected. This incurs a performance overhead.
To eliminate this warning, add "type": "module" to /Users/user/Documents/repos/lz-org/devtools/examples/oft-solana/package.json.
(Use `node --trace-warnings ...` to show where the warning was created)

    ╭─────────────────────────────────────────╮
    │       ▓▓▓ LayerZero DevTools ▓▓▓        │
    │  ═══════════════════════════════════    │
    │          /*\                            │
    │         /* *\     BUILD ANYTHING        │
    │         ('v')                           │
    │        //-=-\\    ▶ OMNICHAIN           │
    │        (\_=_/)                          │
    │         ^^ ^^                           │
    │  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  │
    ╰─────────────────────────────────────────╯

info:    Pathway config already initialized

How to test

  1. Build devtools locally.
  2. In examples/oft-solana, go through the usual deployment steps.
  3. Run the following command twice:
npx hardhat lz:oft:solana:init-config --oapp-config layerzero.config.ts

#1028 - bug: npx hardhat lz:oapp:config:get:default broken in upgradeable example

Changes

  • In hardhat.config.ts, commented out deploymentSourcePackages: [].

#1066 - bug: lz:deploy requires deploy task name matches contractName

Changes

  • Added tag validation that warns when provided tags don't match any deploy scripts (listing available tags), and changed the success message to a warning when no contracts are actually deployed.

Example run

examples/oft $ npx hardhat lz:deploy --tags s

    ╭─────────────────────────────────────────╮
    │       ▓▓▓ LayerZero DevTools ▓▓▓        │
    │  ═══════════════════════════════════    │
    │          /*\                            │
    │         /* *\     BUILD ANYTHING        │
    │         ('v')                           │
    │        //-=-\\    ▶ OMNICHAIN           │
    │        (\_=_/)                          │
    │         ^^ ^^                           │
    │  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  │
    ╰─────────────────────────────────────────╯

info:    Compiling your hardhat project
Nothing to compile
✔ Which networks would you like to deploy? › arbitrum-sepolia, base-sepolia
✔ Which deploy script tags would you like to use? … s
info:    Will deploy 2 networks: arbitrum-sepolia, base-sepolia
info:    Will use deploy scripts tagged with s
warn:    The following tags do not match any deploy scripts: s. Available tags: DestinationExecutorMock, MyOFT, SimpleDVNMock, SimpleExecutorMock
✔ Do you want to continue? … yes
warn:    ⤫ No contracts were deployed. This could mean the deploy script tags don't match any scripts, or all contracts were already deployed.

Other changes

  • removed unnecessary TS_NODE_COMPILER_OPTIONS env var in Solana examples.
    • Previously CI would fail without this env var; now it is no longer needed.
  • devtools/examples/oft-solana: added links to audits.
  • Added TS_NODE_FILES and TS_NODE_PROJECT to turbo.json globalPassThroughEnv.

@github-actions
Copy link
Contributor

github-actions bot commented Jan 20, 2026

🧪 E2E Test Status

E2E tests are non-blocking and validate real blockchain interactions. Failures may occur due to network issues, RPC rate limits, or external service downtime.

Test Runs (Newest First):

  • Run #6589 - Passed - 2026-01-20 18:48 (UTC)
  • Run #6586 - Passed - 2026-01-20 02:41 (UTC)
  • Run #6583 - Passed - 2026-01-20 02:14 (UTC)
  • Run #6582 - Passed - 2026-01-20 02:03 (UTC)
  • Run #6580 - Passed - 2026-01-20 01:45 (UTC)

@nazreen nazreen changed the title devtools QoL DEVREL-1172 devtools QoL Jan 20, 2026
@nazreen nazreen requested a review from Copilot January 21, 2026 00:48
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR addresses three bugs related to DevTools quality-of-life improvements: misleading "already wired" messages for Solana init tasks, broken config retrieval in upgradeable examples, and unclear feedback when deploy tags don't match any scripts.

Changes:

  • Added configurable noActionMessage parameter to wire flow for custom completion messages
  • Enhanced deploy task with tag validation and warnings for unmatched tags or no deployments
  • Removed unnecessary TS_NODE_COMPILER_OPTIONS environment variable from Solana examples
  • Added audit documentation links to Solana OFT example

Reviewed changes

Copilot reviewed 13 out of 13 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
turbo.json Added TypeScript-related environment variables to global pass-through configuration
tests/devtools-evm-hardhat-test/test/task/deploy.test.expectations/deploy-all-missing-tag.exp Updated test expectations to validate new warning messages for missing tags and no deployments
packages/ua-devtools-evm-hardhat/src/tasks/oapp/wire/index.ts Added noActionMessage parameter to wire task for customizable completion messages
packages/devtools/src/flows/wire.ts Implemented noActionMessage parameter in wire flow with default value
packages/devtools-evm-hardhat/src/tasks/deploy.ts Added tag validation, available tags discovery, and warnings for unmatched tags or zero deployments
examples/oft-solana/tasks/solana/initConfig.ts Applied custom "Pathway config already initialized" message and removed TODO comment
examples/oft-solana/hardhat.config.ts Removed unnecessary TS_NODE_COMPILER_OPTIONS environment variable setup
examples/oft-solana/README.md Added audits section with commit hash and links to audit reports
examples/oapp-solana/tasks/solana/initConfig.ts Applied custom completion message for consistency with oft-solana
examples/oapp-solana/hardhat.config.ts Removed unnecessary TS_NODE_COMPILER_OPTIONS environment variable setup
examples/lzapp-migration/tasks/solana/initConfig.ts Applied custom completion message and removed duplicate comment
docs/EXAMPLES_SPECS.md Added specification for optional Audits section in example READMEs
.changeset/gorgeous-cobras-pull.md Added changeset documenting the fix for misleading init-config messages

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@nazreen nazreen changed the title DEVREL-1172 devtools QoL DEVREL-1186 devtools QoL batch 1 Jan 21, 2026
@nazreen nazreen marked this pull request as ready for review January 21, 2026 02:01
@cursor
Copy link

cursor bot commented Jan 21, 2026

PR Summary

Improves DX around configuration/wiring and deployments; minor docs/examples updates.

  • Wiring flow: Add optional noActionMessage to createWireFlow and plumb through ua-devtools-evm-hardhat wire task; Solana init-config tasks now pass noActionMessage: "Pathway config already initialized" for clearer no-op output.
  • Deploy task: Discover available tags from deploy scripts, warn on unmatched tags, and warn when 0 contracts are deployed; updated test expectations.
  • Examples/Configs: Remove TS_NODE_COMPILER_OPTIONS hack from Solana hardhat.config.ts; add audits section/links to examples/oft-solana/README.md; add audits guidance to docs/EXAMPLES_SPECS.md.
  • Build tooling: Include TS_NODE_FILES and TS_NODE_PROJECT in turbo.json globalPassThroughEnv.
  • Versioning: Changesets added for patch releases across affected packages.

Written by Cursor Bugbot for commit 607c6e1. This will update automatically on new commits. Configure here.

@nazreen nazreen requested review from fabianhug and lzJxhn January 29, 2026 01:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant