rubic-sdk
Version:
Simplify dApp creation
50 lines • 2.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.StonfiSwapService = void 0;
const sdk_1 = require("@ston-fi/sdk");
const ton_client_1 = require("../../../../../../../core/blockchain/web3-private-service/web3-private/ton-web3-private/ton-client/ton-client");
const addresses_1 = require("../constants/addresses");
const convert_params_to_ton_config_1 = require("../utils/convert-params-to-ton-config");
class StonfiSwapService {
constructor() {
this.stonfiRouter = this.tonClient.open(new sdk_1.DEX.v1.Router());
}
get tonClient() {
return ton_client_1.TonClientInstance.getInstance();
}
async getTxParams(from, to, walletAddress, minAmountOutWei) {
if (from.isNative) {
const txParams = await this.stonfiRouter.getSwapTonToJettonTxParams({
userWalletAddress: walletAddress,
proxyTon: new sdk_1.pTON.v1(),
offerAmount: from.stringWeiAmount,
askJettonAddress: to.address,
minAskAmount: minAmountOutWei,
referralAddress: addresses_1.STONFI_REFERRAL_ADDRESS
});
return (0, convert_params_to_ton_config_1.convertTxParamsToTonConfig)(txParams);
}
if (to.isNative) {
const txParams = await this.stonfiRouter.getSwapJettonToTonTxParams({
userWalletAddress: walletAddress,
offerJettonAddress: from.address,
offerAmount: from.stringWeiAmount,
proxyTon: new sdk_1.pTON.v1(),
minAskAmount: minAmountOutWei,
referralAddress: addresses_1.STONFI_REFERRAL_ADDRESS
});
return (0, convert_params_to_ton_config_1.convertTxParamsToTonConfig)(txParams);
}
const txParams = await this.stonfiRouter.getSwapJettonToJettonTxParams({
userWalletAddress: walletAddress,
offerJettonAddress: from.address,
offerAmount: from.stringWeiAmount,
askJettonAddress: to.address,
minAskAmount: minAmountOutWei,
referralAddress: addresses_1.STONFI_REFERRAL_ADDRESS
});
return (0, convert_params_to_ton_config_1.convertTxParamsToTonConfig)(txParams);
}
}
exports.StonfiSwapService = StonfiSwapService;
//# sourceMappingURL=stonfi-swap-service.js.map