getProvideLiquidityJettonTxParams method
Future<SenderArguments>
getProvideLiquidityJettonTxParams(
{ - required InternalAddress userWalletAddress,
- required InternalAddress sendTokenAddress,
- required InternalAddress otherTokenAddress,
- required BigInt sendAmount,
- required BigInt minLpOut,
- BigInt? gasAmount,
- BigInt? forwardGasAmount,
- BigInt? queryId,
})
Implementation
Future<SenderArguments> getProvideLiquidityJettonTxParams({
required InternalAddress userWalletAddress,
required InternalAddress sendTokenAddress,
required InternalAddress otherTokenAddress,
required BigInt sendAmount,
required BigInt minLpOut,
BigInt? gasAmount,
BigInt? forwardGasAmount,
BigInt? queryId,
}) async {
final jettonWalletAddress = await stonfiProvider!
.open(JettonMaster(sendTokenAddress))
.getWalletAddress(userWalletAddress);
final routerWalletAddress = await stonfiProvider!
.open(JettonMaster(otherTokenAddress))
.getWalletAddress(this.address);
final forwardPayload = createProvideLiquidityBody(
routerWalletAddress: routerWalletAddress,
minLpOut: minLpOut,
);
final forwardTonAmount =
forwardGasAmount ?? gasConstants.provideLpJetton.forwardGasAmount;
final body = createJettonTransferMessage(
queryId: queryId ?? BigInt.zero,
amount: sendAmount,
destination: this.address,
responseDestination: userWalletAddress,
forwardTonAmount: forwardTonAmount,
forwardPayload: forwardPayload,
);
final value = gasAmount ?? gasConstants.provideLpJetton.gasAmount!;
return SenderArguments(value: value, to: jettonWalletAddress, body: body);
}