Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 34 additions & 10 deletions evm/ts/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,43 @@
import { registerProtocol } from "@wormhole-foundation/sdk-definitions";
import {
registerProtocol,
protocolIsRegistered,
} from "@wormhole-foundation/sdk-definitions";
import { _platform } from "@wormhole-foundation/sdk-evm";
import { EvmNtt } from "./ntt.js";
import { EvmNttWithExecutor } from "./nttWithExecutor.js";
import { EvmMultiTokenNtt } from "./multiTokenNtt.js";
import { EvmMultiTokenNttWithExecutor } from "./multiTokenNttWithExecutor.js";
import "@wormhole-foundation/sdk-definitions-ntt";
import { register as registerDefinitions } from "@wormhole-foundation/sdk-definitions-ntt";

registerProtocol(_platform, "Ntt", EvmNtt);
registerProtocol(_platform, "NttWithExecutor", EvmNttWithExecutor);
registerProtocol(_platform, "MultiTokenNtt", EvmMultiTokenNtt);
registerProtocol(
_platform,
"MultiTokenNttWithExecutor",
EvmMultiTokenNttWithExecutor
);
/** Explicitly register EVM NTT protocols. Idempotent — safe to call multiple times. */
export function register(topLevel = false): void {
if (topLevel) {
console.warn(
"@wormhole-foundation/sdk-evm-ntt: auto-registration on import is deprecated. Import { register } and call it explicitly."
);
}
registerDefinitions();
if (!protocolIsRegistered(_platform, "Ntt")) {
registerProtocol(_platform, "Ntt", EvmNtt);
}
if (!protocolIsRegistered(_platform, "NttWithExecutor")) {
registerProtocol(_platform, "NttWithExecutor", EvmNttWithExecutor);
}
if (!protocolIsRegistered(_platform, "MultiTokenNtt")) {
registerProtocol(_platform, "MultiTokenNtt", EvmMultiTokenNtt);
}
if (!protocolIsRegistered(_platform, "MultiTokenNttWithExecutor")) {
registerProtocol(
_platform,
"MultiTokenNttWithExecutor",
EvmMultiTokenNttWithExecutor
);
}
}

// Backward-compatible: auto-register on import
// TODO: remove this next time we are cool with a major version bump and are OK requiring integrators to make code changes
register(true);

export * as ethers_contracts from "./ethers-contracts/index.js";
export * from "./ntt.js";
Expand Down
30 changes: 27 additions & 3 deletions sdk/definitions/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,35 @@
import { registerPayloadTypes } from "@wormhole-foundation/sdk-definitions";
import {
registerPayloadTypes,
payloadFactory,
composeLiteral,
} from "@wormhole-foundation/sdk-definitions";
import {
multiTokenNttNamedPayloads,
nttNamedPayloads,
} from "./layouts/index.js";

registerPayloadTypes("Ntt", nttNamedPayloads);
registerPayloadTypes("MultiTokenNtt", multiTokenNttNamedPayloads);
/** Explicitly register NTT payload types. Idempotent — safe to call multiple times. */
export function register(topLevel = false): void {
if (topLevel) {
console.warn(
"@wormhole-foundation/sdk-definitions-ntt: auto-registration on import is deprecated. Import { register } and call it explicitly."
);
}
if (!payloadFactory.has(composeLiteral("Ntt", nttNamedPayloads[0]![0]))) {
registerPayloadTypes("Ntt", nttNamedPayloads);
}
if (
!payloadFactory.has(
composeLiteral("MultiTokenNtt", multiTokenNttNamedPayloads[0]![0])
)
) {
registerPayloadTypes("MultiTokenNtt", multiTokenNttNamedPayloads);
}
}

// Backward-compatible: auto-register on import
// TODO: remove this next time we are cool with a major version bump and are OK requiring integrators to make code changes
register(true);

export * from "./ntt.js";
export * from "./nttWithExecutor.js";
Expand Down
28 changes: 24 additions & 4 deletions solana/ts/sdk/index.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,32 @@
import { registerProtocol } from "@wormhole-foundation/sdk-definitions";
import {
registerProtocol,
protocolIsRegistered,
} from "@wormhole-foundation/sdk-definitions";
import { _platform } from "@wormhole-foundation/sdk-solana";
import { SolanaNtt } from "./ntt.js";
import { SolanaNttWithExecutor } from "./nttWithExecutor.js";
import "@wormhole-foundation/sdk-definitions-ntt";
import { register as registerDefinitions } from "@wormhole-foundation/sdk-definitions-ntt";
import "./side-effects";

registerProtocol(_platform, "Ntt", SolanaNtt);
registerProtocol(_platform, "NttWithExecutor", SolanaNttWithExecutor);
/** Explicitly register Solana NTT protocols. Idempotent — safe to call multiple times. */
export function register(topLevel = false): void {
if (topLevel) {
console.warn(
"@wormhole-foundation/sdk-solana-ntt: auto-registration on import is deprecated. Import { register } and call it explicitly."
);
}
registerDefinitions();
if (!protocolIsRegistered(_platform, "Ntt")) {
registerProtocol(_platform, "Ntt", SolanaNtt);
}
if (!protocolIsRegistered(_platform, "NttWithExecutor")) {
registerProtocol(_platform, "NttWithExecutor", SolanaNttWithExecutor);
}
}

// Backward-compatible: auto-register on import
// TODO: remove this next time we are cool with a major version bump and are OK requiring integrators to make code changes
register(true);

export * from "./ntt.js";
export * from "./nttWithExecutor.js";
28 changes: 24 additions & 4 deletions sui/ts/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,31 @@
import { registerProtocol } from "@wormhole-foundation/sdk-definitions";
import {
registerProtocol,
protocolIsRegistered,
} from "@wormhole-foundation/sdk-definitions";
import { _platform } from "@wormhole-foundation/sdk-sui";
import { SuiNtt } from "./ntt.js";
import { SuiNttWithExecutor } from "./nttWithExecutor.js";
import "@wormhole-foundation/sdk-definitions-ntt";
import { register as registerDefinitions } from "@wormhole-foundation/sdk-definitions-ntt";

registerProtocol(_platform, "Ntt", SuiNtt);
registerProtocol(_platform, "NttWithExecutor", SuiNttWithExecutor);
/** Explicitly register Sui NTT protocols. Idempotent — safe to call multiple times. */
export function register(topLevel = false): void {
if (topLevel) {
console.warn(
"@wormhole-foundation/sdk-sui-ntt: auto-registration on import is deprecated. Import { register } and call it explicitly."
);
}
registerDefinitions();
if (!protocolIsRegistered(_platform, "Ntt")) {
registerProtocol(_platform, "Ntt", SuiNtt);
}
if (!protocolIsRegistered(_platform, "NttWithExecutor")) {
registerProtocol(_platform, "NttWithExecutor", SuiNttWithExecutor);
}
}

// Backward-compatible: auto-register on import
// TODO: remove this next time we are cool with a major version bump and are OK requiring integrators to make code changes
register(true);

export * from "./ntt.js";
export * from "./nttWithExecutor.js";
Loading