diff --git a/apps/root/src/common/components/modify-settings-modal/index.tsx b/apps/root/src/common/components/modify-settings-modal/index.tsx
index d67aaa205..f7207e5d8 100644
--- a/apps/root/src/common/components/modify-settings-modal/index.tsx
+++ b/apps/root/src/common/components/modify-settings-modal/index.tsx
@@ -69,6 +69,7 @@ import useDcaAllowanceTarget from '@hooks/useDcaAllowanceTarget';
import { abs } from '@common/utils/bigint';
import ChangesSummary from './components/changes-summary';
import { AddPositionToCalendarButton } from '../add-position-to-calendar';
+import { Chains } from '@balmy/sdk';
const StyledSummaryContainer = styled.div`
display: flex;
@@ -583,6 +584,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
const minimumTokensNeeded = usdPriceToToken(from, minimumToUse, usdPrice);
+ const shouldDisableIncrease = position.chainId === Chains.ROOTSTOCK.chainId;
let actions: {
label: React.ReactNode;
onClick: () => void;
@@ -607,7 +609,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
/>
),
onClick: () => handleApproveToken(),
- disabled: !!hasPendingApproval || shouldDisableByUsd,
+ disabled: !!hasPendingApproval || shouldDisableByUsd || shouldDisableIncrease,
options: [
{
text: (
@@ -625,7 +627,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
}}
/>
),
- disabled: !!hasPendingApproval || shouldDisableByUsd,
+ disabled: !!hasPendingApproval || shouldDisableByUsd || shouldDisableIncrease,
onClick: () => handleApproveToken(true),
},
],
@@ -666,7 +668,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
variant: 'contained',
label: ,
onClick: handleModifyRateAndSwaps,
- disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd,
+ disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd || shouldDisableIncrease,
},
];
}
@@ -678,7 +680,8 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
variant: 'contained',
label: ,
onClick: handleModifyRateAndSwaps,
- disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd,
+ disabled:
+ !!cantFund || frequencyValue === '0' || shouldDisableByUsd || (isIncreasingPosition && shouldDisableIncrease),
},
];
}
@@ -690,7 +693,8 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
variant: 'contained',
label: ,
onClick: handleModifyRateAndSwapsSafe,
- disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd,
+ disabled:
+ !!cantFund || frequencyValue === '0' || shouldDisableByUsd || (isIncreasingPosition && shouldDisableIncrease),
},
];
}
@@ -702,7 +706,8 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
variant: 'contained',
label: ,
onClick: handleModifyRateAndSwapsSafe,
- disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd,
+ disabled:
+ !!cantFund || frequencyValue === '0' || shouldDisableByUsd || (isIncreasingPosition && shouldDisableIncrease),
},
];
}
diff --git a/apps/root/src/pages/dca/create-position/components/step1/index.tsx b/apps/root/src/pages/dca/create-position/components/step1/index.tsx
index 7219c34fb..9ad64d285 100644
--- a/apps/root/src/pages/dca/create-position/components/step1/index.tsx
+++ b/apps/root/src/pages/dca/create-position/components/step1/index.tsx
@@ -24,12 +24,16 @@ import { useTokenBalance } from '@state/balances/hooks';
import useActiveWallet from '@hooks/useActiveWallet';
import useAvailableSwapIntervals from '@hooks/useAvailableSwapIntervals';
import FormWalletSelector from '@common/components/form-wallet-selector';
+import { Chains } from '@balmy/sdk';
const networkList = compact(
orderBy(
SUPPORTED_NETWORKS_DCA.map((chainId) => {
const foundNetwork = find(NETWORKS, { chainId });
+ if (chainId === Chains.ROOTSTOCK.chainId) {
+ return null;
+ }
if (!foundNetwork) {
return null;
}
diff --git a/apps/root/src/pages/dca/positions/components/positions-list/current-positions/components/position-card-button/index.tsx b/apps/root/src/pages/dca/positions/components/positions-list/current-positions/components/position-card-button/index.tsx
index 884ecfdd3..4d2ab6b88 100644
--- a/apps/root/src/pages/dca/positions/components/positions-list/current-positions/components/position-card-button/index.tsx
+++ b/apps/root/src/pages/dca/positions/components/positions-list/current-positions/components/position-card-button/index.tsx
@@ -16,6 +16,7 @@ import useOpenConnectModal from '@hooks/useOpenConnectModal';
import { getDisplayWallet } from '@common/utils/parsing';
import useDcaTokens from '@hooks/useDcaTokens';
import { WalletActionType } from '@services/accountService';
+import { Chains } from '@balmy/sdk';
const StyledCardFooterButton = styled(Button).attrs({ variant: 'outlined' })``;
@@ -116,6 +117,7 @@ const PositionCardButton = ({
!dcaTokens[`${chainId}-${position.from.underlyingTokens[0]?.address.toLowerCase()}` as TokenListId]) ||
(toHasYield && !dcaTokens[`${chainId}-${position.to.underlyingTokens[0]?.address.toLowerCase()}` as TokenListId]) ||
DCA_PAIR_BLACKLIST.includes(position.pairId) ||
+ position.chainId === Chains.ROOTSTOCK.chainId ||
!shouldEnableFrequency(
position.swapInterval.toString(),
position.from.address,
diff --git a/apps/root/src/pages/dca/positions/components/positions-list/position-card/components/position-warning/index.tsx b/apps/root/src/pages/dca/positions/components/positions-list/position-card/components/position-warning/index.tsx
index 13387a821..81e1dd5b3 100644
--- a/apps/root/src/pages/dca/positions/components/positions-list/position-card/components/position-warning/index.tsx
+++ b/apps/root/src/pages/dca/positions/components/positions-list/position-card/components/position-warning/index.tsx
@@ -4,6 +4,7 @@ import { FormattedMessage } from 'react-intl';
import { ContainerBox, ErrorOutlineIcon, Link, Typography, colors } from 'ui-library';
import { AAVE_FROZEN_TOKENS, SONNE_FROZEN_TOKENS, YEARN_SONNE_FROZEN_TOKENS } from '@constants';
import styled from 'styled-components';
+import { Chains } from '@balmy/sdk';
interface PositionWarningProps {
position: Position;
@@ -117,6 +118,17 @@ const PositionWarning = ({ position }: PositionWarningProps) => {
);
}
+ if (position.chainId === Chains.ROOTSTOCK.chainId) {
+ message = (
+ <>
+
+ >
+ );
+ }
+
if (
YEARN_SONNE_FROZEN_TOKENS.includes(position.yields.to?.tokenAddress.toLowerCase() || '') ||
YEARN_SONNE_FROZEN_TOKENS.includes(position.yields.from?.tokenAddress.toLowerCase() || '')
diff --git a/apps/root/src/services/pairService.ts b/apps/root/src/services/pairService.ts
index bb9f398aa..dd4699ec0 100644
--- a/apps/root/src/services/pairService.ts
+++ b/apps/root/src/services/pairService.ts
@@ -251,8 +251,10 @@ export default class PairService extends EventsManager {
const newMinSwapInterval = this.minSwapInterval;
- newMinSwapInterval[chainId] =
- sdkPair.pairs[0].swapIntervals[Object.keys(sdkPair.pairs[0].swapIntervals)[0]].seconds;
+ if (sdkPair.pairs.length > 0) {
+ newMinSwapInterval[chainId] =
+ sdkPair.pairs[0].swapIntervals[Object.keys(sdkPair.pairs[0].swapIntervals)[0]].seconds;
+ }
this.minSwapInterval = newMinSwapInterval;
return acc;