Skip to content

Commit 4f5b927

Browse files
committed
added isWrappedToken method
1 parent f9b57de commit 4f5b927

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-4
lines changed

evm/ts/src/multiTokenNtt.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,6 @@ export class EvmMultiTokenNtt<N extends Network, C extends EvmChains>
534534
}
535535

536536
async *completeInboundQueuedTransfer(
537-
fromChain: Chain,
538537
transceiverMessage: MultiTokenNtt.Message
539538
) {
540539
const { trimmedAmount, token, sender, to } =
@@ -578,6 +577,11 @@ export class EvmMultiTokenNtt<N extends Network, C extends EvmChains>
578577
};
579578
}
580579

580+
async isWrappedToken(localToken: TokenId): Promise<boolean> {
581+
const originalToken = await this.getOriginalToken(localToken);
582+
return originalToken.chain !== this.chain;
583+
}
584+
581585
// This will return null if the token doesn't exist
582586
async getLocalToken(
583587
originalToken: MultiTokenNtt.OriginalTokenId

sdk/definitions/src/multiTokenNtt.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,13 @@ export interface MultiTokenNtt<N extends Network, C extends Chain> {
150150
): Promise<MultiTokenNtt.InboundQueuedTransfer | null>;
151151

152152
completeInboundQueuedTransfer(
153-
fromChain: Chain,
154153
transceiverMessage: MultiTokenNtt.Message
155154
): AsyncGenerator<UnsignedTransaction<N, C>>;
156155

157156
getOriginalToken(localToken: TokenId): Promise<MultiTokenNtt.OriginalTokenId>;
158157

158+
isWrappedToken(localToken: TokenId): Promise<boolean>;
159+
159160
getLocalToken(
160161
originalToken: MultiTokenNtt.OriginalTokenId
161162
): Promise<TokenId | null>;

sdk/route/src/executor/multiToken.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -760,7 +760,6 @@ export class MultiTokenNttExecutorRoute<N extends Network>
760760
multiTokenNtt: receipt.params.normalizedParams.destinationContracts,
761761
});
762762
const completeTransfer = destinationNtt.completeInboundQueuedTransfer(
763-
receipt.from,
764763
vaa.payload.nttManagerPayload
765764
);
766765
const finalizeTxs = await signSendWait(toChain, completeTransfer, signer);

sdk/route/src/multiTokenManual.ts

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,20 @@ export class MultiTokenNttManualRoute<N extends Network>
102102
return {};
103103
}
104104

105+
async isWrappedToken(token: TokenId): Promise<boolean> {
106+
const contracts = MultiTokenNttRoute.resolveContracts(
107+
this.staticConfig.contracts,
108+
token.chain
109+
);
110+
111+
const chain = this.wh.getChain(token.chain);
112+
const ntt = await chain.getProtocol("MultiTokenNtt", {
113+
multiTokenNtt: contracts,
114+
});
115+
116+
return await ntt.isWrappedToken(token);
117+
}
118+
105119
async validate(
106120
request: routes.RouteTransferRequest<N>,
107121
params: Tp
@@ -411,7 +425,6 @@ export class MultiTokenNttManualRoute<N extends Network>
411425
multiTokenNtt: receipt.params.normalizedParams.destinationContracts,
412426
});
413427
const completeTransfer = ntt.completeInboundQueuedTransfer(
414-
receipt.from,
415428
vaa.payload.nttManagerPayload
416429
);
417430
const finalizeTxids = await signSendWait(toChain, completeTransfer, signer);

0 commit comments

Comments
 (0)