getSwapJettonToJettonTxParams method
Future<SenderArguments>
getSwapJettonToJettonTxParams(
{ - required InternalAddress userWalletAddress,
- required InternalAddress offerJettonAddress,
- required InternalAddress askJettonAddress,
- required BigInt offerAmount,
- required BigInt minAskAmount,
- InternalAddress? referralAddress,
- BigInt? gasAmount,
- BigInt? forwardGasAmount,
- BigInt? queryId,
})
Implementation
Future<SenderArguments> getSwapJettonToJettonTxParams({
required InternalAddress userWalletAddress,
required InternalAddress offerJettonAddress,
required InternalAddress askJettonAddress,
required BigInt offerAmount,
required BigInt minAskAmount,
InternalAddress? referralAddress,
BigInt? gasAmount,
BigInt? forwardGasAmount,
BigInt? queryId,
}) async {
final offerJettonWalletAddress = await stonfiProvider!
.open(JettonMaster(offerJettonAddress, provider))
.getWalletAddress(userWalletAddress);
final askJettonWalletAddress = await stonfiProvider!
.open(JettonMaster(askJettonAddress, provider))
.getWalletAddress(this.address);
final forwardPayload = createSwapBody(
userWalletAddress: userWalletAddress,
minAskAmount: minAskAmount,
askJettonWalletAddress: askJettonWalletAddress,
referralAddress: referralAddress,
);
final forwardTonAmount =
forwardGasAmount ?? gasConstants.swapJettonToJetton.forwardGasAmount;
final body = createJettonTransferMessage(
customPayload: null,
queryId: queryId ?? BigInt.zero,
amount: offerAmount,
destination: this.address,
responseDestination: userWalletAddress,
forwardTonAmount: forwardTonAmount,
forwardPayload: forwardPayload,
);
final value = gasAmount ?? gasConstants.swapJettonToJetton.gasAmount!;
return SenderArguments(
value: value, to: offerJettonWalletAddress, body: body);
}