createSwapBody method

Cell createSwapBody({
  1. required InternalAddress userWalletAddress,
  2. required BigInt minAskAmount,
  3. required InternalAddress askJettonWalletAddress,
  4. InternalAddress? referralAddress,
})

Implementation

Cell createSwapBody({
  required InternalAddress userWalletAddress,
  required BigInt minAskAmount,
  required InternalAddress askJettonWalletAddress,
  InternalAddress? referralAddress,
}) {
  final builder = Builder();
  builder
      .storeUint(DexOpCodes.SWAP.op, 32)
      .storeAddress(askJettonWalletAddress)
      .storeCoins(minAskAmount)
      .storeAddress(userWalletAddress);

  if (referralAddress != null) {
    builder.storeUint(BigInt.from(1), 1).storeAddress(referralAddress);
  } else {
    builder.storeUint(BigInt.zero, 1);
  }

  return builder.endCell();
}