getSwapTonToJettonTxParams method

Future<SenderArguments> getSwapTonToJettonTxParams({
  1. required InternalAddress userWalletAddress,
  2. required PtonV1 proxyTon,
  3. required InternalAddress askJettonAddress,
  4. required BigInt offerAmount,
  5. required BigInt minAskAmount,
  6. InternalAddress? referralAddress,
  7. BigInt? gasAmount,
  8. BigInt? forwardGasAmount,
  9. BigInt? queryId,
})

Implementation

Future<SenderArguments> getSwapTonToJettonTxParams({
  required InternalAddress userWalletAddress,
  required PtonV1 proxyTon,
  required InternalAddress askJettonAddress,
  required BigInt offerAmount,
  required BigInt minAskAmount,
  InternalAddress? referralAddress,
  BigInt? gasAmount,
  BigInt? forwardGasAmount,
  BigInt? queryId,
}) async {
  final askJettonWalletAddress = await stonfiProvider!
      .open(JettonMaster(askJettonAddress))
      .getWalletAddress(this.address);

  final forwardPayload = createSwapBody(
    userWalletAddress: userWalletAddress,
    minAskAmount: minAskAmount,
    askJettonWalletAddress: askJettonWalletAddress,
    referralAddress: referralAddress,
  );

  final forwardTonAmount =
      forwardGasAmount ?? gasConstants.swapTonToJetton.forwardGasAmount;

  return await proxyTon.getTonTransferTxParams(
    queryId: queryId ?? BigInt.zero,
    tonAmount: offerAmount,
    destinationAddress: this.address,
    refundAddress: userWalletAddress,
    forwardPayload: forwardPayload,
    forwardTonAmount: forwardTonAmount,
  );
}