Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 6 additions & 11 deletions apps/root/src/common/components/modify-settings-modal/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ 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;
Expand Down Expand Up @@ -584,7 +583,6 @@ 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;
Expand All @@ -609,7 +607,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
/>
),
onClick: () => handleApproveToken(),
disabled: !!hasPendingApproval || shouldDisableByUsd || shouldDisableIncrease,
disabled: !!hasPendingApproval || shouldDisableByUsd || isIncreasingPosition,
options: [
{
text: (
Expand All @@ -627,7 +625,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
}}
/>
),
disabled: !!hasPendingApproval || shouldDisableByUsd || shouldDisableIncrease,
disabled: !!hasPendingApproval || shouldDisableByUsd || isIncreasingPosition,
onClick: () => handleApproveToken(true),
},
],
Expand Down Expand Up @@ -668,7 +666,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
variant: 'contained',
label: <FormattedMessage description="modifyPositionPermit2" defaultMessage="Authorize and modify position" />,
onClick: handleModifyRateAndSwaps,
disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd || shouldDisableIncrease,
disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd || isIncreasingPosition,
},
];
}
Expand All @@ -680,8 +678,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
variant: 'contained',
label: <FormattedMessage description="modifyPosition" defaultMessage="Modify position" />,
onClick: handleModifyRateAndSwaps,
disabled:
!!cantFund || frequencyValue === '0' || shouldDisableByUsd || (isIncreasingPosition && shouldDisableIncrease),
disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd || isIncreasingPosition,
},
];
}
Expand All @@ -693,8 +690,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
variant: 'contained',
label: <FormattedMessage description="modifyPositionSafe" defaultMessage="Authorize and modify position" />,
onClick: handleModifyRateAndSwapsSafe,
disabled:
!!cantFund || frequencyValue === '0' || shouldDisableByUsd || (isIncreasingPosition && shouldDisableIncrease),
disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd || isIncreasingPosition,
},
];
}
Expand All @@ -706,8 +702,7 @@ const ModifySettingsModal = ({ position, open, onCancel }: ModifySettingsModalPr
variant: 'contained',
label: <FormattedMessage description="modifyPosition" defaultMessage="Modify position" />,
onClick: handleModifyRateAndSwapsSafe,
disabled:
!!cantFund || frequencyValue === '0' || shouldDisableByUsd || (isIncreasingPosition && shouldDisableIncrease),
disabled: !!cantFund || frequencyValue === '0' || shouldDisableByUsd || isIncreasingPosition,
},
];
}
Expand Down
28 changes: 27 additions & 1 deletion apps/root/src/frame/components/navigation/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import usePushToHistory from '@hooks/usePushToHistory';
import { changeRoute } from '@state/tabs/actions';
import { useRoute } from '@state/tabs/hooks';
import React, { useCallback } from 'react';
import { defineMessage, useIntl } from 'react-intl';
import { defineMessage, FormattedMessage, useIntl } from 'react-intl';
import {
Switch,
Navigation as NavigationUI,
Expand All @@ -34,6 +34,9 @@ import {
TrashIcon,
MovingStarIcon,
DollarSquareIcon,
Link,
Typography,
colors,
} from 'ui-library';
// import { setSwitchActiveWalletOnConnectionThunk, toggleTheme } from '@state/config/actions';
// import { useSwitchActiveWalletOnConnection, useThemeMode } from '@state/config/hooks';
Expand Down Expand Up @@ -287,11 +290,34 @@ const Navigation = ({ children }: React.PropsWithChildren) => {
]
: [];

const SunsetMessage = () => (
<Typography variant="bodySmallRegular" color={colors[mode].typography.white}>
<FormattedMessage
description="balmy_sunset"
defaultMessage="We've made the difficult decision to begin sunsetting Balmy. Starting today, deposits and increases for recurring investments, as well as earn vaults, are paused. You can read more about this decision and how it will affect you and your open positions "
/>
<Link
href="https://balmy.medium.com/sovereignt-bank-unwinding-balmy-24f2405062ff"
target="_blank"
sx={{
display: 'inline-flex',
margin: ({ spacing }) => `0px ${spacing(1)}`,
color: colors[mode].typography.white,
textDecorationColor: colors[mode].typography.white,
}}
>
<FormattedMessage description="here" defaultMessage="here." />
</Link>
</Typography>
);

return (
<>
<LevelUpModal />
<NavigationUI
extraHeaderTools={<TierPills />}
warning={<SunsetMessage />}
warningLevel="error"
headerContent={
<NetWorth
variant={NetWorthVariants.nav}
Expand Down
22 changes: 14 additions & 8 deletions apps/root/src/hooks/useIsSomeWalletIndexed.ts
Original file line number Diff line number Diff line change
@@ -1,27 +1,33 @@
import React from 'react';
import useStoredTransactionHistory from './useStoredTransactionHistory';
import { Address } from 'viem';
import { IndexerUnits } from 'common-types';
import { UnitsIndexedByChainPercentage, IncludedIndexerUnits } from '@common/utils/transaction-history';
import { ChainId, IndexerUnits } from 'common-types';

const INDEXER_ACCEPTANCE = 0.95; // 95%

const EMPTY_INDEXER_UNITS = {
[IndexerUnits.DCA]: {},
[IndexerUnits.AGG_SWAPS]: {},
[IndexerUnits.ERC20_APPROVALS]: {},
[IndexerUnits.ERC20_TRANSFERS]: {},
[IndexerUnits.NATIVE_TRANSFERS]: {},
[IndexerUnits.EARN]: {},
};

type IncludedIndexerUnits = Exclude<
IndexerUnits,
| IndexerUnits.CHAINLINK_REGISTRY
| IndexerUnits.NATIVE_TRANSFERS
| IndexerUnits.ERC20_APPROVALS
| IndexerUnits.ERC20_TRANSFERS
>;

export type UnitsIndexedByChainPercentage = Record<
Address,
Record<IncludedIndexerUnits, Record<ChainId, { percentage: number; isIndexed: boolean }>>
>; // <IndexerUnits, Record<ChainId, boolean>>

export const IncludedIndexerUnitsArrayTypes: IncludedIndexerUnits[] = [
IndexerUnits.DCA,
IndexerUnits.AGG_SWAPS,
IndexerUnits.ERC20_APPROVALS,
IndexerUnits.ERC20_TRANSFERS,
IndexerUnits.EARN,
IndexerUnits.NATIVE_TRANSFERS,
] as const;

export default function useIsSomeWalletIndexed(wallet?: Address) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,15 @@ const DcaButton = ({
const swapsIsMax = BigInt(frequencyValue || '0') > maxUint32;

const shouldDisableApproveButton =
true ||
!from ||
!to ||
!fromValue ||
!frequencyValue ||
cantFund ||
!balance ||
allowanceErrors ||
parseUnits(fromValue, from.decimals) <= 0 ||
parseUnits(fromValue, from?.decimals || 0) <= 0 ||
BigInt(frequencyValue) <= 0 ||
(shouldEnableYield && fromCanHaveYield && isUndefined(fromYield)) ||
(shouldEnableYield && toCanHaveYield && isUndefined(toYield));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,10 @@ const PositionCardButton = ({
const fromHasYield = !!position.from.underlyingTokens.length;
const toHasYield = !!position.to.underlyingTokens.length;

const canAddFunds = VERSIONS_ALLOWED_MODIFY.includes(position.version);
const canAddFunds = false && VERSIONS_ALLOWED_MODIFY.includes(position.version);

const disabledIncrease =
true ||
disabled ||
!dcaTokens[`${chainId}-${position.from.address.toLowerCase()}` as TokenListId] ||
!dcaTokens[`${chainId}-${position.to.address.toLowerCase()}` as TokenListId] ||
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ interface StrategiesTableProps<T extends StrategiesTableVariants> {
withPagination?: boolean;
showBalances?: boolean;
farmsWithDepositableTokens?: FarmsWithAvailableDepositTokens;
handleMigrationModalOpen?: () => void;
}

const StrategiesDisplayWrapper = <T extends StrategiesTableVariants>({
Expand All @@ -35,7 +34,6 @@ const StrategiesDisplayWrapper = <T extends StrategiesTableVariants>({
withPagination,
showBalances = true,
farmsWithDepositableTokens,
handleMigrationModalOpen,
}: StrategiesTableProps<T>) => {
const [page, setPage] = React.useState(0);
const pushToHistory = usePushToHistory();
Expand Down Expand Up @@ -74,7 +72,6 @@ const StrategiesDisplayWrapper = <T extends StrategiesTableVariants>({
variant={variant}
setPage={setPage}
farmsWithDepositableTokens={farmsWithDepositableTokens}
handleMigrationModalOpen={handleMigrationModalOpen}
/>
{shouldShowMobileList ? (
<StrategiesList
Expand Down
Original file line number Diff line number Diff line change
@@ -1,42 +1,34 @@
import React, { useState } from 'react';
import { FormattedMessage } from 'react-intl';
import { Button, colors, ContainerBox, NotificationIcon, Typography } from 'ui-library';
import styled from 'styled-components';
import { FarmsWithAvailableDepositTokens } from '@hooks/earn/useAvailableDepositTokens';
import useAnalytics from '@hooks/useAnalytics';
// import styled from 'styled-components';
// import { FarmsWithAvailableDepositTokens } from '@hooks/earn/useAvailableDepositTokens';
// import useAnalytics from '@hooks/useAnalytics';
import NotifyEmailModal from './notify-email-modal';
const StyledMigrationAmount = styled(ContainerBox).attrs({
alignItems: 'center',
justifyContent: 'center',
})`
${({ theme: { palette, spacing } }) => `
background-color: ${colors[palette.mode].accentPrimary};
border-radius: 100px;
width: ${spacing(4.5)};
height: ${spacing(4.5)};
`}
`;
// const StyledMigrationAmount = styled(ContainerBox).attrs({
// alignItems: 'center',
// justifyContent: 'center',
// })`
// ${({ theme: { palette, spacing } }) => `
// background-color: ${colors[palette.mode].accentPrimary};
// border-radius: 100px;
// width: ${spacing(4.5)};
// height: ${spacing(4.5)};
// `}
// `;

const AllStrategiesHeading = ({
farmsWithDepositableTokens = [],
handleMigrationModalOpen,
}: {
farmsWithDepositableTokens?: FarmsWithAvailableDepositTokens;
handleMigrationModalOpen?: () => void;
}) => {
const { trackEvent } = useAnalytics();
const AllStrategiesHeading = (
{
// farmsWithDepositableTokens = [],
}: {
// farmsWithDepositableTokens?: FarmsWithAvailableDepositTokens;
}
) => {
// const { trackEvent } = useAnalytics();
const [isNotifyEmailModalOpen, setIsNotifyEmailModalOpen] = useState(false);
const migrableTokensAmount = farmsWithDepositableTokens?.filter(
(farm) => Number(farm.balance.amountInUSD) > 1
).length;

const onMigrationModalOpen = () => {
if (!handleMigrationModalOpen) {
return;
}
handleMigrationModalOpen();
trackEvent('Earn - One click migration - Table Toolbar - Open migration modal');
};
// const migrableTokensAmount = farmsWithDepositableTokens?.filter(
// (farm) => Number(farm.balance.amountInUSD) > 1
// ).length;

return (
<>
Expand All @@ -55,7 +47,7 @@ const AllStrategiesHeading = ({
/>
</ContainerBox>
</Button>
<Button
{/* <Button
variant="text"
onClick={onMigrationModalOpen}
sx={{ display: 'flex', gap: 1 }}
Expand All @@ -74,7 +66,7 @@ const AllStrategiesHeading = ({
description="earn.all-strategies-table.migrate-investments"
defaultMessage="Migrate Investments"
/>
</Button>
</Button> */}
</ContainerBox>
</ContainerBox>
</>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ const AllStrategiesTableToolbar = ({
variant,
strategiesCount,
setPage,
farmsWithDepositableTokens,
handleMigrationModalOpen,
// farmsWithDepositableTokens,
}: AllStrategiesTableToolbarProps) => {
const intl = useIntl();
const dispatch = useAppDispatch();
Expand All @@ -54,10 +53,7 @@ const AllStrategiesTableToolbar = ({
return (
<ContainerBox justifyContent="space-between" alignItems="end" flexWrap="wrap" gap={3}>
{variant === StrategiesTableVariants.ALL_STRATEGIES ? (
<AllStrategiesHeading
farmsWithDepositableTokens={farmsWithDepositableTokens}
handleMigrationModalOpen={handleMigrationModalOpen}
/>
<AllStrategiesHeading />
) : (
<ContainerBox alignItems="center" gap={2}>
<Typography variant="h3Bold" color={({ palette: { mode } }) => colors[mode].typography.typo1}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,8 @@ const variant = StrategiesTableVariants.ALL_STRATEGIES;

const AllStrategiesTable = ({
farmsWithDepositableTokens,
handleMigrationModalOpen,
}: {
farmsWithDepositableTokens: FarmsWithAvailableDepositTokens;
handleMigrationModalOpen: () => void;
}) => {
const hasFetchedAllStrategies = useHasFetchedAllStrategies();
const strategies = useAllStrategiesForTable();
Expand All @@ -34,7 +32,6 @@ const AllStrategiesTable = ({
isLoading={!hasFetchedAllStrategies}
withPagination
farmsWithDepositableTokens={farmsWithDepositableTokens}
handleMigrationModalOpen={handleMigrationModalOpen}
/>
);
};
Expand Down
Loading