rubic-sdk
Version:
Simplify dApp creation
44 lines • 2.02 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.TonCrossChainTrade = void 0;
const bignumber_js_1 = __importDefault(require("bignumber.js"));
const errors_1 = require("../../../../../../common/errors");
const blockchain_name_1 = require("../../../../../../core/blockchain/models/blockchain-name");
const injector_1 = require("../../../../../../core/injector/injector");
const cross_chain_trade_1 = require("../cross-chain-trade");
class TonCrossChainTrade extends cross_chain_trade_1.CrossChainTrade {
/**
* Gas fee info in source blockchain.
*/
get fromWeb3Public() {
return injector_1.Injector.web3PublicService.getWeb3Public(blockchain_name_1.BLOCKCHAIN_NAME.TON);
}
get web3Private() {
return injector_1.Injector.web3PrivateService.getWeb3PrivateByBlockchain(blockchain_name_1.BLOCKCHAIN_NAME.TON);
}
async approve(_options, _checkNeedApprove = true, _amount = 'infinity') {
throw new errors_1.RubicSdkError('Method not implemented!');
}
async checkAllowanceAndApprove(_options) {
return;
}
async encode(_options) {
throw new errors_1.RubicSdkError('Method not implemented! Use custom swap methods on each child class!');
}
async encodeApprove(_tokenAddress, _spenderAddress, _value, _options = {}) {
throw new Error('Method not implemented');
}
getUsdPrice(providerFeeToken) {
let feeSum = new bignumber_js_1.default(0);
const providerFee = this.feeInfo.provider?.cryptoFee;
if (providerFee) {
feeSum = feeSum.plus(providerFee.amount.multipliedBy(providerFeeToken || providerFee.token.price));
}
return this.to.price.multipliedBy(this.to.tokenAmount).minus(feeSum);
}
}
exports.TonCrossChainTrade = TonCrossChainTrade;
//# sourceMappingURL=ton-cross-chain-trade.js.map