From c26b48bc2ed0097bd6f8359e60fcc542830a4ec8 Mon Sep 17 00:00:00 2001 From: Rakesh Pradhan <75733764+Rakeshpradhan1999@users.noreply.github.com> Date: Mon, 16 Sep 2024 12:15:08 +0530 Subject: [PATCH] fix-jetton-sending-bug --- src/contracts/jettons/JettonWallet.ts | 33 +++++++++++++++++++-------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/src/contracts/jettons/JettonWallet.ts b/src/contracts/jettons/JettonWallet.ts index 099ba7d..b3e6872 100644 --- a/src/contracts/jettons/JettonWallet.ts +++ b/src/contracts/jettons/JettonWallet.ts @@ -41,19 +41,32 @@ export class JettonWallet implements Contract { forwardPayload?: Cell; }, ) { + const builder = beginCell(); + builder.storeUint(JettonWallet.TRANSFER, 32); + builder.storeUint(queryId ?? 0, 64); + builder.storeCoins(amount); + builder.storeAddress(destination); + builder.storeAddress(responseAddress); + + if (customPayload) { + builder.storeBit(true); + builder.storeRef(customPayload); + } else { + builder.storeBit(false); + } + + builder.storeCoins(forwardAmount ?? 0); + if (forwardPayload) { + builder.storeBit(true); + builder.storeRef(forwardPayload); + } else { + builder.storeBit(false); + } + const txBody = builder.endCell(); await provider.internal(via, { value, sendMode: SendMode.PAY_GAS_SEPARATELY, - body: beginCell() - .storeUint(JettonWallet.TRANSFER, 32) - .storeUint(queryId ?? 0, 64) - .storeCoins(amount) - .storeAddress(destination) - .storeAddress(responseAddress) - .storeMaybeRef(customPayload) - .storeCoins(forwardAmount ?? 0) - .storeMaybeRef(forwardPayload) - .endCell(), + body: txBody, }); }