Skip to content

Commit

Permalink
Merge pull request #3498 from Cryptorubic/id-1101
Browse files Browse the repository at this point in the history
Id 1101
  • Loading branch information
IDIDOS authored Feb 14, 2025
2 parents 1eca584 + 23fd08d commit 77e1f39
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 18 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@
"ngx-cookie-service": "^16.0.0",
"querystring-es3": "^0.2.1",
"rpc-websockets": "7.9.0",
"rubic-sdk": "5.52.6",
"rubic-sdk": "5.52.7",
"rxjs": "7.8.1",
"ts-cacheable": "^1.0.5",
"viem": "^1.21.1",
Expand Down
33 changes: 28 additions & 5 deletions src/app/features/trade/services/cross-chain/cross-chain.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ export class CrossChainService {
let providers: CrossChainCalculatedTradeData[] = [];
const { fromToken, toToken, fromAmount, fromBlockchain, toBlockchain } =
this.swapFormService.inputValue;
const disabledProviders = this.getDisabledProviders(disabledTradeTypes, fromBlockchain);
// const disabledProviders = this.getDisabledProviders(disabledTradeTypes, fromBlockchain);
return forkJoin([
this.sdkService.deflationTokenManager.isDeflationToken(new Token(fromToken)),
this.tokensService.getAndUpdateTokenPrice(fromToken, true),
Expand All @@ -110,7 +110,7 @@ export class CrossChainService {
of(toSdkCompatibleToken),
of(tokenState),
this.getOptions(
disabledProviders,
disabledTradeTypes,
fromSdkCompatibleToken,
toSdkCompatibleToken,
fromAmount.actualValue
Expand Down Expand Up @@ -180,20 +180,27 @@ export class CrossChainService {
const queryRangoDisabledBridges = this.queryParamsService.disabledRangoBridges;

const queryDisabledTradeTypes = this.queryParamsService.disabledCrossChainProviders;
const disabledProviders = Array.from(
const disabledProvidersFromApiAndQuery = Array.from(
new Set<CrossChainTradeType>([
...disabledTradeTypes,
...(apiDisabledTradeTypes || []),
...(queryDisabledTradeTypes || [])
])
);

const calculateGas = this.authService.userAddress;
const timeout = this.calculateTimeoutForChains();
const providerAddress = await this.proxyService.getIntegratorAddress(
fromSdkToken,
fromAmount,
toSdkToken
);

const disabledProviders = this.getDisabledProviders(
disabledProvidersFromApiAndQuery,
fromSdkToken.blockchain
);

const options: CrossChainManagerCalculationOptions = {
fromSlippageTolerance: slippageTolerance / 2,
toSlippageTolerance: slippageTolerance / 2,
Expand Down Expand Up @@ -496,11 +503,27 @@ export class CrossChainService {
Object.values(notEvmChangeNowBlockchainsList) as BlockchainName[]
).includes(fromBlockchain);

let disabledProviders = [...disabledTradesTypes];

if (isNonEvmCNChain && this.iframeService.isIframe) {
return [...disabledTradesTypes, CROSS_CHAIN_TRADE_TYPE.CHANGENOW];
disabledProviders = [...disabledProviders, CROSS_CHAIN_TRADE_TYPE.CHANGENOW];
}

const referral = this.sessionStorage.getItem('referral');

if (referral) {
const integratorAddress = this.sessionStorage.getItem(referral.toLowerCase());

if (integratorAddress) {
disabledProviders = [
...disabledProviders,
CROSS_CHAIN_TRADE_TYPE.SIMPLE_SWAP,
CROSS_CHAIN_TRADE_TYPE.CHANGELLY
];
}
}

return disabledTradesTypes;
return disabledProviders;
}

private async sendPreTradeInfo(trade: CrossChainTrade): Promise<string | null> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,22 +40,22 @@ export class ProxyFeeService {
toToken: PriceToken
): Promise<string> {
try {
const fromPriceAmount = fromToken.price.multipliedBy(fromAmount);
const referral = this.sessionStorage.getItem('referral');

if ((fromPriceAmount.lte(0) || !fromPriceAmount.isFinite()) && !referral) {
return this.handlePromoIntegrator(fromToken, toToken, percentAddress.default);
}
if (fromPriceAmount.lte(100) && fromPriceAmount.isFinite()) {
return this.handlePromoIntegrator(fromToken, toToken, percentAddress.zeroFee);
}

if (referral) {
const referralIntegrator = await this.getIntegratorByReferralName(referral);

if (referralIntegrator) return referralIntegrator;
}

const fromPriceAmount = fromToken.price.multipliedBy(fromAmount);
if (fromPriceAmount.lte(0) || !fromPriceAmount.isFinite()) {
return this.handlePromoIntegrator(fromToken, toToken, percentAddress.default);
}
if (fromPriceAmount.lte(100)) {
return this.handlePromoIntegrator(fromToken, toToken, percentAddress.zeroFee);
}

const fromType = this.getTokenType(fromToken);
if (!fromType) {
throw new Error('Failed to fetch token from backend');
Expand Down
8 changes: 4 additions & 4 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -17366,10 +17366,10 @@ rpc-websockets@^9.0.2:
bufferutil "^4.0.1"
utf-8-validate "^5.0.2"

rubic-sdk@5.52.6:
version "5.52.6"
resolved "https://registry.yarnpkg.com/rubic-sdk/-/rubic-sdk-5.52.6.tgz#cf1adcc3677a9d0f6e5f1a74c91dfa5dfead1281"
integrity sha512-mwZeudIcCfvYO7gm4hjcSQb3SlqxfNkp0RR02zvTS6go4kksFSEmDc939tyYUCLU1J5vl2WnTjFD1RMQpo9YuA==
rubic-sdk@5.52.7:
version "5.52.7"
resolved "https://registry.yarnpkg.com/rubic-sdk/-/rubic-sdk-5.52.7.tgz#bfeb1c1f496f6a6edd492661c5ee140f4bd1ff7a"
integrity sha512-mGSSdjnU/3J8in/HJW6RwtBP4l25LSr4nyiv4fYSY1Gqin87iE/s7JKXk9b69WwHRgF0T/SZgFkAb0Vy++n+AQ==
dependencies:
"@1inch/limit-order-protocol-utils" "3.0.1"
"@arbitrum/sdk" "^3.1.3"
Expand Down

0 comments on commit 77e1f39

Please # to comment.