Skip to content
Draft
6 changes: 4 additions & 2 deletions cypress/support/steps/main.steps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -308,8 +308,9 @@ export const withdraw = (
it(`Open ${_shortName} Withdraw popup view`, () => {
cy.doSwitchToDashboardSupplyView();
cy.getDashBoardSuppliedRow(_shortName, isCollateral)
.find(`button:contains("Withdraw")`)
.find(`[data-cy=suppliedExtraActionsButton]`)
.click();
cy.get(`[data-cy=withdrawButton]`).click();
cy.get(`[data-cy=Modal] h2:contains("Withdraw ${_shortName}")`).should('be.visible');
});
it(`Choose ${forWrapped ? 'usual token' : 'wrapped token'}`, () => {
Expand Down Expand Up @@ -390,8 +391,9 @@ export const withdrawAndSwitch = (
it(`Open Withdraw and Switch modal for ${_shortNameFrom}`, () => {
cy.doSwitchToDashboardSupplyView();
cy.getDashBoardSuppliedRow(_shortNameFrom, isCollateralFromAsset)
.find(`button:contains("Withdraw")`)
.find(`[data-cy=suppliedExtraActionsButton]`)
.click();
cy.get(`[data-cy=withdrawButton]`).click();

cy.get(`[data-cy=Modal] h2:contains("Withdraw ${_shortNameFrom}")`).should('be.visible');

Expand Down
7 changes: 7 additions & 0 deletions pages/_app.page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ const CollateralSwapModal = dynamic(() =>
)
);

const LeverageModal = dynamic(() =>
import('src/components/transactions/Swap/modals/LeverageModal').then(
(module) => module.LeverageModal
)
);

const DebtSwapModal = dynamic(() =>
import('src/components/transactions/Swap/modals/DebtSwapModal').then(
(module) => module.DebtSwapModal
Expand Down Expand Up @@ -194,6 +200,7 @@ export default function MyApp(props: MyAppProps) {
{/* Swap Modals */}
<SwapModal />
<CollateralSwapModal />
<LeverageModal />
<DebtSwapModal />
<CancelCowOrderModal />
<CowOrderToast />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { Dispatch } from 'react';

import { TrackAnalyticsHandlers } from '../../analytics/useTrackAnalytics';
import { ProtocolSwapParams, ProtocolSwapState, SwapProvider, SwapState } from '../../types';
import { LeverageActionsViaCoW } from './LeverageActionsViaCoW';

export const LeverageActions = ({
params,
state,
setState,
trackingHandlers,
}: {
params: ProtocolSwapParams;
state: ProtocolSwapState;
setState: Dispatch<Partial<SwapState>>;
trackingHandlers: TrackAnalyticsHandlers;
}) => {
// Only the CoW adapters implement leverage; ParaSwap has no equivalent route.
if (state.provider !== SwapProvider.COW_PROTOCOL) return null;

return (
<LeverageActionsViaCoW
params={params}
state={state}
setState={setState}
trackingHandlers={trackingHandlers}
/>
);
};
Loading
Loading