rubic-sdk 4.51.1 → 4.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rubic-sdk.min.js +31 -6
- package/dist/rubic-sdk.min.js.map +1 -1
- package/lib/features/common/providers/symbiosis/services/symbiosis-api-service.js +6 -1
- package/lib/features/common/providers/symbiosis/services/symbiosis-api-service.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade.js +7 -1
- package/lib/features/cross-chain/calculation-manager/providers/common/proxy-cross-chain-evm-facade/proxy-cross-chain-evm-trade.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/models/symbiosis-cross-chain-supported-blockchains.d.ts +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/models/symbiosis-cross-chain-supported-blockchains.js +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/models/symbiosis-cross-chain-supported-blockchains.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.d.ts +2 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js +10 -3
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-provider.js.map +1 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-trade.d.ts +1 -0
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-trade.js +7 -1
- package/lib/features/cross-chain/calculation-manager/providers/symbiosis-provider/symbiosis-cross-chain-trade.js.map +1 -1
- package/lib/features/on-chain/calculation-manager/providers/dexes/linea/horizondex/horizondex-provider.d.ts +1 -1
- package/package.json +1 -1
package/dist/rubic-sdk.min.js
CHANGED
|
@@ -189462,6 +189462,8 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
|
189462
189462
|
exports.SymbiosisApiService = void 0;
|
|
189463
189463
|
const errors_1 = __webpack_require__(/*! ../../../../../common/errors */ "./src/common/errors/index.ts");
|
|
189464
189464
|
const decorators_1 = __webpack_require__(/*! ../../../../../common/utils/decorators */ "./src/common/utils/decorators/index.ts");
|
|
189465
|
+
const blockchain_name_1 = __webpack_require__(/*! ../../../../../core/blockchain/models/blockchain-name */ "./src/core/blockchain/models/blockchain-name.ts");
|
|
189466
|
+
const blockchain_id_1 = __webpack_require__(/*! ../../../../../core/blockchain/utils/blockchains-info/constants/blockchain-id */ "./src/core/blockchain/utils/blockchains-info/constants/blockchain-id.ts");
|
|
189465
189467
|
const injector_1 = __webpack_require__(/*! ../../../../../core/injector/injector */ "./src/core/injector/injector.ts");
|
|
189466
189468
|
const symbiosis_api_common_1 = __webpack_require__(/*! ../constants/symbiosis-api-common */ "./src/features/common/providers/symbiosis/constants/symbiosis-api-common.ts");
|
|
189467
189469
|
class SymbiosisApiService {
|
|
@@ -189480,7 +189482,10 @@ class SymbiosisApiService {
|
|
|
189480
189482
|
* @param params Swap request body
|
|
189481
189483
|
*/
|
|
189482
189484
|
static async getCrossChainSwapTx(params) {
|
|
189483
|
-
const
|
|
189485
|
+
const url = params.tokenOut.chainId === blockchain_id_1.blockchainId[blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN]
|
|
189486
|
+
? `${symbiosis_api_common_1.SYMBIOSIS_API_ENDPOINT}/v1/swap`
|
|
189487
|
+
: `${symbiosis_api_common_1.SYMBIOSIS_API_ENDPOINT}/v1/swapping/exact_in?partnerId=rubic`;
|
|
189488
|
+
const res = await injector_1.Injector.httpClient.post(url, params);
|
|
189484
189489
|
if ('code' in res && 'message' in res) {
|
|
189485
189490
|
throw new errors_1.RubicSdkError(res.message);
|
|
189486
189491
|
}
|
|
@@ -196002,13 +196007,13 @@ class ProxyCrossChainEvmTrade {
|
|
|
196002
196007
|
return web3Public.callContractMethod(rubic_proxy_contract_address_1.rubicProxyContractAddress[fromBlockchain].router, evm_common_cross_chain_abi_1.evmCommonCrossChainAbi, 'approvedDexs');
|
|
196003
196008
|
}
|
|
196004
196009
|
static getBridgeData(swapOptions, tradeParams) {
|
|
196005
|
-
const receiverAddress = swapOptions?.receiverAddress || tradeParams.walletAddress;
|
|
196006
196010
|
const toChainId = blockchain_id_1.blockchainId[tradeParams.toTokenAmount.blockchain] || 9999;
|
|
196007
196011
|
const fromToken = tradeParams.srcChainTrade
|
|
196008
196012
|
? tradeParams.srcChainTrade.toTokenAmountMin
|
|
196009
196013
|
: tradeParams.fromTokenAmount;
|
|
196010
196014
|
const hasSwapBeforeBridge = tradeParams.srcChainTrade !== null;
|
|
196011
196015
|
const toAddress = tradeParams.toAddress || tradeParams.toTokenAmount.address;
|
|
196016
|
+
const receiverAddress = ProxyCrossChainEvmTrade.getReceiverAddress(swapOptions?.receiverAddress, tradeParams.walletAddress, toChainId);
|
|
196012
196017
|
return [
|
|
196013
196018
|
evm_web3_pure_1.EvmWeb3Pure.randomHex(32),
|
|
196014
196019
|
tradeParams.type.toLowerCase(),
|
|
@@ -196084,6 +196089,12 @@ class ProxyCrossChainEvmTrade {
|
|
|
196084
196089
|
throw new unapproved_method_error_1.UnapprovedMethodError(method, routerAddress);
|
|
196085
196090
|
}
|
|
196086
196091
|
}
|
|
196092
|
+
static getReceiverAddress(receiverAddress, walletAddress, toChainId) {
|
|
196093
|
+
if (toChainId === blockchain_id_1.blockchainId[blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN]) {
|
|
196094
|
+
return walletAddress;
|
|
196095
|
+
}
|
|
196096
|
+
return receiverAddress || walletAddress;
|
|
196097
|
+
}
|
|
196087
196098
|
}
|
|
196088
196099
|
exports.ProxyCrossChainEvmTrade = ProxyCrossChainEvmTrade;
|
|
196089
196100
|
|
|
@@ -203276,6 +203287,7 @@ exports.symbiosisCrossChainSupportedBlockchains = [
|
|
|
203276
203287
|
blockchain_name_1.BLOCKCHAIN_NAME.TRON,
|
|
203277
203288
|
blockchain_name_1.BLOCKCHAIN_NAME.SCROLL,
|
|
203278
203289
|
blockchain_name_1.BLOCKCHAIN_NAME.METIS,
|
|
203290
|
+
blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN,
|
|
203279
203291
|
// Testnets
|
|
203280
203292
|
blockchain_name_1.BLOCKCHAIN_NAME.GOERLI,
|
|
203281
203293
|
blockchain_name_1.BLOCKCHAIN_NAME.BINANCE_SMART_CHAIN_TESTNET,
|
|
@@ -203402,13 +203414,15 @@ class SymbiosisCrossChainProvider extends cross_chain_provider_1.CrossChainProvi
|
|
|
203402
203414
|
}
|
|
203403
203415
|
return super.areSupportedBlockchains(fromBlockchain, toBlockchain);
|
|
203404
203416
|
}
|
|
203417
|
+
// eslint-disable-next-line complexity
|
|
203405
203418
|
async calculate(from, toToken, options) {
|
|
203406
203419
|
const fromBlockchain = from.blockchain;
|
|
203407
203420
|
const toBlockchain = toToken.blockchain;
|
|
203408
203421
|
const useProxy = options?.useProxy?.[this.type] ?? true;
|
|
203409
203422
|
// @TODO remove Tron check
|
|
203410
203423
|
if (!this.areSupportedBlockchains(fromBlockchain, toBlockchain) ||
|
|
203411
|
-
fromBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.TRON
|
|
203424
|
+
fromBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.TRON ||
|
|
203425
|
+
fromBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN) {
|
|
203412
203426
|
return {
|
|
203413
203427
|
trade: null,
|
|
203414
203428
|
error: new errors_1.NotSupportedTokensError(),
|
|
@@ -203449,14 +203463,13 @@ class SymbiosisCrossChainProvider extends cross_chain_provider_1.CrossChainProvi
|
|
|
203449
203463
|
...tokenIn,
|
|
203450
203464
|
amount: fromWithoutFee.stringWeiAmount
|
|
203451
203465
|
};
|
|
203452
|
-
const receiverAddress = options.receiverAddress || fromAddress;
|
|
203453
203466
|
const deadline = Math.floor(Date.now() / 1000) + 60 * options.deadline;
|
|
203454
203467
|
const slippageTolerance = options.slippageTolerance * 10000;
|
|
203455
203468
|
const swapParams = {
|
|
203456
203469
|
tokenAmountIn: symbiosisTokenAmountIn,
|
|
203457
203470
|
tokenOut,
|
|
203458
203471
|
from: fromAddress,
|
|
203459
|
-
to: receiverAddress
|
|
203472
|
+
to: this.getSwapParamsToAddress(options.receiverAddress, fromAddress, toBlockchain),
|
|
203460
203473
|
revertableAddress: fromAddress,
|
|
203461
203474
|
slippage: slippageTolerance,
|
|
203462
203475
|
deadline
|
|
@@ -203580,6 +203593,12 @@ class SymbiosisCrossChainProvider extends cross_chain_provider_1.CrossChainProvi
|
|
|
203580
203593
|
}
|
|
203581
203594
|
return routePath;
|
|
203582
203595
|
}
|
|
203596
|
+
getSwapParamsToAddress(receiverAddress, fromAddress, toBlockchain) {
|
|
203597
|
+
if (toBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN && !receiverAddress) {
|
|
203598
|
+
return 'bc1qvyf8ufqpeyfe6vshfxdrr970rkqfphgz28ulhr';
|
|
203599
|
+
}
|
|
203600
|
+
return receiverAddress || fromAddress;
|
|
203601
|
+
}
|
|
203583
203602
|
}
|
|
203584
203603
|
exports.SymbiosisCrossChainProvider = SymbiosisCrossChainProvider;
|
|
203585
203604
|
|
|
@@ -203837,7 +203856,7 @@ class SymbiosisCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
|
|
|
203837
203856
|
...this.swappingParams,
|
|
203838
203857
|
from: walletAddress,
|
|
203839
203858
|
to: receiverAddress || walletAddress,
|
|
203840
|
-
revertableAddress: receiverAddress
|
|
203859
|
+
revertableAddress: this.getRevertableAddress(receiverAddress, walletAddress, this.to.blockchain)
|
|
203841
203860
|
};
|
|
203842
203861
|
const tradeData = await symbiosis_api_service_1.SymbiosisApiService.getCrossChainSwapTx(params);
|
|
203843
203862
|
const config = {
|
|
@@ -203850,6 +203869,12 @@ class SymbiosisCrossChainTrade extends evm_cross_chain_trade_1.EvmCrossChainTrad
|
|
|
203850
203869
|
}
|
|
203851
203870
|
return config;
|
|
203852
203871
|
}
|
|
203872
|
+
getRevertableAddress(receiverAddress, walletAddress, toBlockchain) {
|
|
203873
|
+
if (toBlockchain === blockchain_name_1.BLOCKCHAIN_NAME.BITCOIN) {
|
|
203874
|
+
return walletAddress;
|
|
203875
|
+
}
|
|
203876
|
+
return receiverAddress || walletAddress;
|
|
203877
|
+
}
|
|
203853
203878
|
}
|
|
203854
203879
|
exports.SymbiosisCrossChainTrade = SymbiosisCrossChainTrade;
|
|
203855
203880
|
|