diff --git a/evm/ts/src/ntt.ts b/evm/ts/src/ntt.ts index b9184992b..aa283eb65 100644 --- a/evm/ts/src/ntt.ts +++ b/evm/ts/src/ntt.ts @@ -524,6 +524,16 @@ export class EvmNtt dstChain: Chain, options: Ntt.TransferOptions ): Promise { + if (options.automatic) { + console.warn( + "EvmNtt.quoteDeliveryPrice with automatic: true queries on-chain " + + "special/standard relayer pricing which is no longer maintained " + + "and may return inflated fees. " + + "Any messages sent via the Standard Relayer will not be automatically delivered to the destination chain past April 1st, 2026. " + + "For automatic EVM transfers, use nttExecutorRoute and obtain quotes via route.quote() instead." + ); + } + await this.initTransceiverIndices(); // Bypass the manager's quoteDeliveryPrice because it has a bug: it sizes the diff --git a/sdk/examples/src/route.ts b/sdk/examples/src/route.ts index 5940c1e2d..aa051678b 100644 --- a/sdk/examples/src/route.ts +++ b/sdk/examples/src/route.ts @@ -12,7 +12,7 @@ import "@wormhole-foundation/sdk-evm-ntt"; import "@wormhole-foundation/sdk-solana-ntt"; import { - nttAutomaticRoute, + nttExecutorRoute, nttManualRoute, } from "@wormhole-foundation/sdk-route-ntt"; import { NttTokens } from "./consts.js"; @@ -29,7 +29,7 @@ import { getSigner } from "./helpers.js"; const resolver = wh.resolver([ nttManualRoute({ tokens: NttTokens }), - nttAutomaticRoute({ tokens: NttTokens }), + nttExecutorRoute({ ntt: { tokens: NttTokens } }), ]); const { chain, token } = NttTokens.Test[0]!; diff --git a/sdk/route/src/automatic.ts b/sdk/route/src/automatic.ts index 0e1bfa1a4..6df29d4d6 100644 --- a/sdk/route/src/automatic.ts +++ b/sdk/route/src/automatic.ts @@ -40,6 +40,13 @@ type Q = routes.Quote; type R = NttRoute.AutomaticTransferReceipt; +/** + * @deprecated Use {@link nttExecutorRoute} instead. + * When the source chain is EVM, this route relies on on-chain special/standard relayer pricing + * which is no longer maintained. Older EVM transceiver deployments may return stale or inflated + * delivery quotes. Messages sent via the Standard Relayer will not be automatically delivered + * to the destination chain past April 1st, 2026. + */ export function nttAutomaticRoute(config: NttRoute.Config) { class NttRouteImpl extends NttAutomaticRoute { static override config = config; @@ -47,6 +54,13 @@ export function nttAutomaticRoute(config: NttRoute.Config) { return NttRouteImpl; } +/** + * @deprecated Use {@link NttExecutorRoute} instead. + * When the source chain is EVM, this route relies on on-chain special/standard relayer pricing + * which is no longer maintained. Older EVM transceiver deployments may return stale or inflated + * delivery quotes. Messages sent via the Standard Relayer will not be automatically delivered + * to the destination chain past April 1st, 2026. + */ export class NttAutomaticRoute extends routes.AutomaticRoute implements routes.StaticRouteMethods