Skip to content

Commit 31a1289

Browse files
committed
fix: complete inbound queued xfer fix
1 parent 3136bf0 commit 31a1289

File tree

2 files changed

+21
-3
lines changed

2 files changed

+21
-3
lines changed

evm/ts/src/multiTokenNtt.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import "@wormhole-foundation/sdk-evm-core";
3131

3232
import {
3333
decodeTrimmedAmount,
34+
encodeTrimmedAmount,
3435
EncodedTrimmedAmount,
3536
MultiTokenNtt,
3637
Ntt,
@@ -540,17 +541,21 @@ export class EvmMultiTokenNtt<N extends Network, C extends EvmChains>
540541
const digest = MultiTokenNtt.messageDigest(fromChain, transceiverMessage);
541542

542543
const transfer: NativeTokenTransferCodec.NativeTokenTransferStruct = {
543-
amount: trimmedAmount.amount,
544+
amount: encodeTrimmedAmount(trimmedAmount),
544545
token: {
545-
meta: token.meta,
546+
meta: {
547+
name: encoding.bytes.encode(token.meta.name),
548+
symbol: encoding.bytes.encode(token.meta.symbol),
549+
decimals: token.meta.decimals,
550+
},
546551
token: {
547552
chainId: toChainId(token.token.chainId),
548553
tokenAddress: token.token.tokenAddress.toString(),
549554
},
550555
},
551556
sender: sender.toString(),
552557
to: to.toString(),
553-
additionalPayload: transceiverMessage.payload.data.additionalPayload,
558+
additionalPayload: "0x",
554559
};
555560

556561
const tx =

sdk/definitions/src/trimmedAmount.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,19 @@ export function decodeTrimmedAmount(
1313
};
1414
}
1515

16+
export function encodeTrimmedAmount(
17+
trimmed: TrimmedAmount
18+
): EncodedTrimmedAmount {
19+
const { amount, decimals } = trimmed;
20+
if (decimals < 0 || decimals > 255) {
21+
throw new Error("decimals out of range");
22+
}
23+
if (amount < 0n || amount >= 1n << 64n) {
24+
throw new Error("amount out of range");
25+
}
26+
return (amount << 8n) | BigInt(decimals);
27+
}
28+
1629
export function untrim(trimmed: TrimmedAmount, toDecimals: number): bigint {
1730
const { amount, decimals: fromDecimals } = trimmed;
1831
return scale(amount, fromDecimals, toDecimals);

0 commit comments

Comments
 (0)