Skip to content

default-solana-adapter should be optional/peer dependency in @orderly.network/hooks #18

Description

@henrypalacios

Problem

@orderly.network/hooks declares @orderly.network/default-solana-adapter as a hard dependency. This forces every consumer — including EVM-only integrations — to download and bundle 242+ Solana packages (@solana/web3.js, @coral-xyz/anchor, @layerzerolabs/*, @metaplex-foundation/*, etc.).

Impact on our EVM-only dapp (Polygon):

  • next build OOM at 4GB heap — had to bump to 6GB
  • Build time 22+ minutes before we stubbed packages out
  • ~15MB of dead code in node_modules we never call

Current workaround

We alias 22 Solana/LayerZero packages to false in webpack and add them to serverExternalPackages:

// next.config.mjs
const solanaStubs = {
  '@orderly.network/default-solana-adapter': false,
  '@solana/web3.js': false,
  '@coral-xyz/anchor': false,
  // ... 19 more
}
config.resolve.alias = { ...config.resolve.alias, ...solanaStubs }

Suggested fix

Move default-solana-adapter to peerDependencies (optional) or optionalDependencies in @orderly.network/hooks. EVM consumers install only the EVM adapter; Solana consumers install only the Solana adapter.

This is standard practice for multi-chain SDKs (e.g., wagmi adapters, Thirdweb chain packages).

Versions affected

Every published version: 2.8.14, 2.10.2, 2.11.0, 3.0.0-beta.0.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions