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.

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