implGetProvideLiquidityJettonTxParams method
Future<SenderArguments>
implGetProvideLiquidityJettonTxParams({
- required InternalAddress userWalletAddress,
- required InternalAddress sendTokenAddress,
- required InternalAddress otherTokenAddress,
- required BigInt sendAmount,
- required BigInt minLpOut,
- required BigInt gasAmount,
- required BigInt forwardGasAmount,
- bool bothPositive = false,
- InternalAddress? refundAddress,
- InternalAddress? excessesAddress,
- Cell? customPayload,
- BigInt? customPayloadForwardGasAmount,
- BigInt? queryId,
Implementation
Future<SenderArguments> implGetProvideLiquidityJettonTxParams({
required InternalAddress userWalletAddress,
required InternalAddress sendTokenAddress,
required InternalAddress otherTokenAddress,
required BigInt sendAmount,
required BigInt minLpOut,
required BigInt gasAmount,
required BigInt forwardGasAmount,
bool bothPositive = false,
InternalAddress? refundAddress,
InternalAddress? excessesAddress,
Cell? customPayload,
BigInt? customPayloadForwardGasAmount,
BigInt? queryId,
}) async {
final contractAddress = this.address;
final jettonWalletAddress = await stonfiProvider!
.open(JettonMaster(sendTokenAddress))
.getWalletAddress(userWalletAddress);
final routerWalletAddress = await stonfiProvider!
.open(JettonMaster(otherTokenAddress))
.getWalletAddress(this.address);
final forwardPayload = createProvideLiquidityBody(
routerWalletAddress: routerWalletAddress,
receiverAddress: userWalletAddress,
minLpOut: minLpOut,
refundAddress: refundAddress ?? userWalletAddress,
excessesAddress: excessesAddress,
customPayload: customPayload,
customPayloadForwardGasAmount: customPayloadForwardGasAmount,
bothPositive: bothPositive,
);
final forwardTonAmount = forwardGasAmount;
final body = createJettonTransferMessage(
queryId: queryId ?? BigInt.zero,
amount: sendAmount,
destination: contractAddress,
responseDestination: userWalletAddress,
forwardTonAmount: forwardTonAmount,
forwardPayload: forwardPayload,
);
final value = gasAmount;
return SenderArguments(value: value, to: jettonWalletAddress, body: body);
}