@wormhole-foundation/sdk-route-ntt 6.1.0 → 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,324 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.NttAutomaticRoute = void 0;
37
- exports.nttAutomaticRoute = nttAutomaticRoute;
38
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
39
- const routes = __importStar(require("@wormhole-foundation/sdk-connect/routes"));
40
- const types_js_1 = require("./types.js");
41
- function nttAutomaticRoute(config) {
42
- class NttRouteImpl extends NttAutomaticRoute {
43
- static config = config;
44
- }
45
- return NttRouteImpl;
46
- }
47
- class NttAutomaticRoute extends routes.AutomaticRoute {
48
- // ntt does not support gas drop-off currently
49
- static NATIVE_GAS_DROPOFF_SUPPORTED = false;
50
- // @ts-ignore
51
- // Since we set the config on the static class, access it with this param
52
- // the NttManualRoute.config will always be empty
53
- staticConfig = this.constructor.config;
54
- static config = { tokens: {} };
55
- static meta = { name: "AutomaticNtt" };
56
- static supportedNetworks() {
57
- return types_js_1.NttRoute.resolveSupportedNetworks(this.config);
58
- }
59
- static supportedChains(network) {
60
- return types_js_1.NttRoute.resolveSupportedChains(this.config, network);
61
- }
62
- static async supportedSourceTokens(fromChain) {
63
- return types_js_1.NttRoute.resolveSourceTokens(this.config, fromChain);
64
- }
65
- static async supportedDestinationTokens(sourceToken, fromChain, toChain) {
66
- return types_js_1.NttRoute.resolveDestinationTokens(this.config, sourceToken, fromChain, toChain);
67
- }
68
- static isProtocolSupported(chain) {
69
- return chain.supportsProtocol("Ntt");
70
- }
71
- getDefaultOptions() {
72
- return types_js_1.NttRoute.AutomaticOptions;
73
- }
74
- async isAvailable(request) {
75
- const { srcContracts } = types_js_1.NttRoute.resolveNttContracts(this.staticConfig, request.source.id, request.destination.id);
76
- const ntt = await request.fromChain.getProtocol("Ntt", {
77
- ntt: srcContracts,
78
- });
79
- return ntt.isRelayingAvailable(request.toChain.chain);
80
- }
81
- async validate(request, params) {
82
- const options = params.options ?? this.getDefaultOptions();
83
- const wrapNative = (0, sdk_connect_1.isNative)(request.source.id.address);
84
- const parsedAmount = sdk_connect_1.amount.parse(params.amount, request.source.decimals);
85
- // The trimmedAmount may differ from the parsedAmount if the parsedAmount includes dust
86
- const trimmedAmount = types_js_1.NttRoute.trimAmount(parsedAmount, request.destination.decimals);
87
- const { srcContracts, dstContracts } = types_js_1.NttRoute.resolveNttContracts(this.staticConfig, request.source.id, request.destination.id);
88
- const validatedParams = {
89
- amount: params.amount,
90
- normalizedParams: {
91
- amount: trimmedAmount,
92
- sourceContracts: srcContracts,
93
- destinationContracts: dstContracts,
94
- options: {
95
- queue: false,
96
- automatic: true,
97
- wrapNative,
98
- },
99
- },
100
- options,
101
- };
102
- return { valid: true, params: validatedParams };
103
- }
104
- async quote(request, params) {
105
- const { fromChain, toChain } = request;
106
- const ntt = await fromChain.getProtocol("Ntt", {
107
- ntt: params.normalizedParams.sourceContracts,
108
- });
109
- if (!(await ntt.isRelayingAvailable(toChain.chain))) {
110
- return {
111
- success: false,
112
- error: new Error(`Relaying to chain ${toChain.chain} is not available`),
113
- };
114
- }
115
- const deliveryPrice = await ntt.quoteDeliveryPrice(toChain.chain, params.normalizedParams.options);
116
- const dstAmount = sdk_connect_1.amount.scale(params.normalizedParams.amount, request.destination.decimals);
117
- const result = {
118
- success: true,
119
- params,
120
- sourceToken: {
121
- token: request.source.id,
122
- amount: params.normalizedParams.amount,
123
- },
124
- destinationToken: {
125
- token: request.destination.id,
126
- amount: dstAmount,
127
- },
128
- relayFee: {
129
- token: sdk_connect_1.Wormhole.tokenId(fromChain.chain, "native"),
130
- amount: sdk_connect_1.amount.fromBaseUnits(deliveryPrice, fromChain.config.nativeTokenDecimals),
131
- },
132
- eta: params.normalizedParams.sourceContracts.eta ??
133
- sdk_connect_1.finality.estimateFinalityTime(request.fromChain.chain) +
134
- sdk_connect_1.guardians.guardianAttestationEta * 1000,
135
- };
136
- const dstNtt = await toChain.getProtocol("Ntt", {
137
- ntt: params.normalizedParams.destinationContracts,
138
- });
139
- const duration = await dstNtt.getRateLimitDuration();
140
- if (duration > 0n) {
141
- const capacity = await dstNtt.getCurrentInboundCapacity(fromChain.chain);
142
- if (types_js_1.NttRoute.isCapacityThresholdExceeded(sdk_connect_1.amount.units(dstAmount), capacity)) {
143
- result.warnings = [
144
- {
145
- type: "DestinationCapacityWarning",
146
- delayDurationSec: Number(duration),
147
- },
148
- ];
149
- }
150
- }
151
- return result;
152
- }
153
- async initiate(request, signer, quote, to) {
154
- const { params } = quote;
155
- const { fromChain } = request;
156
- const sender = sdk_connect_1.Wormhole.parseAddress(signer.chain(), signer.address());
157
- const ntt = await fromChain.getProtocol("Ntt", {
158
- ntt: params.normalizedParams.sourceContracts,
159
- });
160
- const initXfer = ntt.transfer(sender, sdk_connect_1.amount.units(params.normalizedParams.amount), to, params.normalizedParams.options);
161
- const txids = await (0, sdk_connect_1.signSendWait)(fromChain, initXfer, signer);
162
- return {
163
- from: fromChain.chain,
164
- to: to.chain,
165
- state: sdk_connect_1.TransferState.SourceInitiated,
166
- originTxs: txids,
167
- params,
168
- };
169
- }
170
- async resume(tx) {
171
- const vaa = await this.wh.getVaa(tx.txid, "Ntt:WormholeTransferStandardRelayer");
172
- if (!vaa)
173
- throw new Error("No VAA found for transaction: " + tx.txid);
174
- const msgId = {
175
- chain: vaa.emitterChain,
176
- emitter: vaa.emitterAddress,
177
- sequence: vaa.sequence,
178
- };
179
- const { payload } = vaa.payload;
180
- const { recipientChain, trimmedAmount } = payload["nttManagerPayload"].payload;
181
- const token = (0, sdk_connect_1.canonicalAddress)({
182
- chain: vaa.emitterChain,
183
- address: payload["nttManagerPayload"].payload.sourceToken,
184
- });
185
- const manager = (0, sdk_connect_1.canonicalAddress)({
186
- chain: vaa.emitterChain,
187
- address: payload["sourceNttManager"],
188
- });
189
- const whTransceiver = (0, sdk_connect_1.chainToPlatform)(vaa.emitterChain) === "Solana"
190
- ? manager
191
- : (0, sdk_connect_1.canonicalAddress)({
192
- chain: vaa.emitterChain,
193
- address: vaa.emitterAddress,
194
- });
195
- const dstInfo = types_js_1.NttRoute.resolveDestinationNttContracts(this.staticConfig, {
196
- chain: vaa.emitterChain,
197
- address: payload["sourceNttManager"],
198
- }, recipientChain);
199
- const amt = sdk_connect_1.amount.fromBaseUnits(trimmedAmount.amount, trimmedAmount.decimals);
200
- return {
201
- from: vaa.emitterChain,
202
- to: recipientChain,
203
- state: sdk_connect_1.TransferState.Attested,
204
- originTxs: [tx],
205
- attestation: {
206
- id: msgId,
207
- attestation: vaa,
208
- },
209
- params: {
210
- amount: sdk_connect_1.amount.display(amt),
211
- options: { automatic: true },
212
- normalizedParams: {
213
- amount: amt,
214
- options: { queue: false, automatic: true },
215
- sourceContracts: {
216
- token,
217
- manager,
218
- transceiver: {
219
- wormhole: whTransceiver,
220
- },
221
- },
222
- destinationContracts: {
223
- token: dstInfo.token,
224
- manager: dstInfo.manager,
225
- transceiver: {
226
- wormhole: dstInfo.transceiver["wormhole"],
227
- },
228
- },
229
- },
230
- },
231
- };
232
- }
233
- // Even though this is an automatic route, the transfer may need to be
234
- // manually finalized if it was queued
235
- async finalize(signer, receipt) {
236
- if (!(0, sdk_connect_1.isDestinationQueued)(receipt)) {
237
- throw new Error("The transfer must be destination queued in order to finalize");
238
- }
239
- const { attestation: { attestation: vaa }, } = receipt;
240
- const toChain = this.wh.getChain(receipt.to);
241
- const ntt = await toChain.getProtocol("Ntt", {
242
- ntt: receipt.params.normalizedParams.destinationContracts,
243
- });
244
- const sender = sdk_connect_1.Wormhole.chainAddress(signer.chain(), signer.address());
245
- const payload = vaa.payloadName === "WormholeTransfer"
246
- ? vaa.payload
247
- : vaa.payload["payload"];
248
- const completeTransfer = ntt.completeInboundQueuedTransfer(receipt.from, payload["nttManagerPayload"], sender.address);
249
- const finalizeTxids = await (0, sdk_connect_1.signSendWait)(toChain, completeTransfer, signer);
250
- return {
251
- ...receipt,
252
- state: sdk_connect_1.TransferState.DestinationFinalized,
253
- destinationTxs: [...(receipt.destinationTxs ?? []), ...finalizeTxids],
254
- };
255
- }
256
- async *track(receipt, timeout) {
257
- if ((0, sdk_connect_1.isSourceInitiated)(receipt) || (0, sdk_connect_1.isSourceFinalized)(receipt)) {
258
- const { txid } = receipt.originTxs[receipt.originTxs.length - 1];
259
- const isEvmPlatform = (chain) => (0, sdk_connect_1.chainToPlatform)(chain) === "Evm";
260
- const vaaType = isEvmPlatform(receipt.from) && isEvmPlatform(receipt.to)
261
- ? // Automatic NTT transfers between EVM chains use standard relayers
262
- "Ntt:WormholeTransferStandardRelayer"
263
- : "Ntt:WormholeTransfer";
264
- const vaa = await this.wh.getVaa(txid, vaaType, timeout);
265
- if (!vaa) {
266
- throw new Error(`No VAA found for transaction: ${txid}`);
267
- }
268
- const msgId = {
269
- chain: vaa.emitterChain,
270
- emitter: vaa.emitterAddress,
271
- sequence: vaa.sequence,
272
- };
273
- receipt = {
274
- ...receipt,
275
- state: sdk_connect_1.TransferState.Attested,
276
- attestation: {
277
- id: msgId,
278
- attestation: vaa,
279
- },
280
- };
281
- yield receipt;
282
- }
283
- const toChain = this.wh.getChain(receipt.to);
284
- const ntt = await toChain.getProtocol("Ntt", {
285
- ntt: receipt.params.normalizedParams.destinationContracts,
286
- });
287
- if ((0, sdk_connect_1.isAttested)(receipt)) {
288
- const { attestation: { attestation: vaa }, } = receipt;
289
- if (await ntt.getIsApproved(vaa)) {
290
- receipt = {
291
- ...receipt,
292
- state: sdk_connect_1.TransferState.DestinationInitiated,
293
- // TODO: check for destination event transactions to get dest Txids
294
- };
295
- yield receipt;
296
- }
297
- }
298
- if ((0, sdk_connect_1.isRedeemed)(receipt) || (0, sdk_connect_1.isDestinationQueued)(receipt)) {
299
- const { attestation: { attestation: vaa }, } = receipt;
300
- const payload = vaa.payloadName === "WormholeTransfer"
301
- ? vaa.payload
302
- : vaa.payload["payload"];
303
- const queuedTransfer = await ntt.getInboundQueuedTransfer(vaa.emitterChain, payload["nttManagerPayload"]);
304
- if (queuedTransfer !== null) {
305
- receipt = {
306
- ...receipt,
307
- state: sdk_connect_1.TransferState.DestinationQueued,
308
- queueReleaseTime: new Date(queuedTransfer.rateLimitExpiryTimestamp * 1000),
309
- };
310
- yield receipt;
311
- }
312
- else if (await ntt.getIsExecuted(vaa)) {
313
- receipt = {
314
- ...receipt,
315
- state: sdk_connect_1.TransferState.DestinationFinalized,
316
- };
317
- yield receipt;
318
- }
319
- }
320
- yield receipt;
321
- }
322
- }
323
- exports.NttAutomaticRoute = NttAutomaticRoute;
324
- //# sourceMappingURL=automatic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"automatic.js","sourceRoot":"","sources":["../../src/automatic.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- import { Chain, ChainAddress, ChainContext, Network, Signer, TokenId, TransactionId, Wormhole } from "@wormhole-foundation/sdk-connect";
2
- import * as routes from "@wormhole-foundation/sdk-connect/routes";
3
- import { NttRoute } from "./types.js";
4
- type Op = NttRoute.Options;
5
- type Tp = routes.TransferParams<Op>;
6
- type Vr = routes.ValidationResult<Op>;
7
- type Vp = NttRoute.ValidatedParams;
8
- type QR = routes.QuoteResult<Op, Vp>;
9
- type Q = routes.Quote<Op, Vp>;
10
- type R = NttRoute.AutomaticTransferReceipt;
11
- export declare function nttAutomaticRoute(config: NttRoute.Config): {
12
- new <N extends Network>(wh: Wormhole<N>): {
13
- readonly staticConfig: any;
14
- getDefaultOptions(): Op;
15
- isAvailable(request: routes.RouteTransferRequest<N>): Promise<boolean>;
16
- validate(request: routes.RouteTransferRequest<N>, params: Tp): Promise<Vr>;
17
- quote(request: routes.RouteTransferRequest<N>, params: Vp): Promise<QR>;
18
- initiate(request: routes.RouteTransferRequest<N>, signer: Signer, quote: Q, to: ChainAddress): Promise<R>;
19
- resume(tx: TransactionId): Promise<R>;
20
- finalize(signer: Signer, receipt: R): Promise<R>;
21
- track(receipt: R, timeout?: number): AsyncGenerator<R, void, unknown>;
22
- wh: Wormhole<N>;
23
- transferUrl(txid: string): string;
24
- };
25
- config: NttRoute.Config;
26
- NATIVE_GAS_DROPOFF_SUPPORTED: boolean;
27
- meta: {
28
- name: string;
29
- };
30
- supportedNetworks(): Network[];
31
- supportedChains(network: Network): Chain[];
32
- supportedSourceTokens(fromChain: ChainContext<Network>): Promise<TokenId[]>;
33
- supportedDestinationTokens<N extends Network>(sourceToken: TokenId, fromChain: ChainContext<N>, toChain: ChainContext<N>): Promise<TokenId[]>;
34
- isProtocolSupported<N extends Network>(chain: ChainContext<N>): boolean;
35
- IS_AUTOMATIC: boolean;
36
- };
37
- export declare class NttAutomaticRoute<N extends Network> extends routes.AutomaticRoute<N, Op, Vp, R> implements routes.StaticRouteMethods<typeof NttAutomaticRoute> {
38
- static NATIVE_GAS_DROPOFF_SUPPORTED: boolean;
39
- readonly staticConfig: any;
40
- static config: NttRoute.Config;
41
- static meta: {
42
- name: string;
43
- };
44
- static supportedNetworks(): Network[];
45
- static supportedChains(network: Network): Chain[];
46
- static supportedSourceTokens(fromChain: ChainContext<Network>): Promise<TokenId[]>;
47
- static supportedDestinationTokens<N extends Network>(sourceToken: TokenId, fromChain: ChainContext<N>, toChain: ChainContext<N>): Promise<TokenId[]>;
48
- static isProtocolSupported<N extends Network>(chain: ChainContext<N>): boolean;
49
- getDefaultOptions(): Op;
50
- isAvailable(request: routes.RouteTransferRequest<N>): Promise<boolean>;
51
- validate(request: routes.RouteTransferRequest<N>, params: Tp): Promise<Vr>;
52
- quote(request: routes.RouteTransferRequest<N>, params: Vp): Promise<QR>;
53
- initiate(request: routes.RouteTransferRequest<N>, signer: Signer, quote: Q, to: ChainAddress): Promise<R>;
54
- resume(tx: TransactionId): Promise<R>;
55
- finalize(signer: Signer, receipt: R): Promise<R>;
56
- track(receipt: R, timeout?: number): AsyncGenerator<R, void, unknown>;
57
- }
58
- export {};
59
- //# sourceMappingURL=automatic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"automatic.d.ts","sourceRoot":"","sources":["../../src/automatic.ts"],"names":[],"mappings":"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"}