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
8 changes: 4 additions & 4 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"apps/cowswap-frontend": "1.121.5",
"apps/cowswap-frontend": "1.122.0",
"apps/explorer": "2.56.0",
"libs/permit-utils": "1.0.0",
"libs/widget-lib": "0.20.0",
Expand All @@ -8,7 +8,7 @@
"libs/analytics": "1.13.0",
"libs/assets": "1.17.0",
"libs/common-const": "1.28.1",
"libs/common-hooks": "1.11.0",
"libs/common-hooks": "1.11.1",
"libs/common-utils": "1.22.2",
"libs/core": "1.8.1",
"libs/ens": "1.5.0",
Expand All @@ -22,8 +22,8 @@
"libs/wallet-provider": "1.0.1",
"libs/ui-utils": "1.1.1",
"libs/abis": "1.2.3",
"libs/balances-and-allowances": "1.8.0",
"libs/balances-and-allowances": "1.9.0",
"libs/iframe-transport": "1.1.0",
"libs/hook-dapp-lib": "1.12.0",
"libs/hook-dapp-lib": "1.13.0",
"libs/multicall": "1.2.3"
}
20 changes: 20 additions & 0 deletions apps/cowswap-frontend/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Changelog

## [1.122.0](https://github.com/cowprotocol/cowswap/compare/cowswap-v1.121.5...cowswap-v1.122.0) (2025-11-05)


### Features

* **hook-dapps:** register aave flash-loans hooks ([#6470](https://github.com/cowprotocol/cowswap/issues/6470)) ([a033304](https://github.com/cowprotocol/cowswap/commit/a033304a8a6376ccb28319e998c13a7916eebcd5))


### Bug Fixes

* **approve:** display partial approve widget only when can swap & adjust tooltip ([#6408](https://github.com/cowprotocol/cowswap/issues/6408)) ([828e005](https://github.com/cowprotocol/cowswap/commit/828e005f3f0c7ed2055fc24d2d97beed792d809a))
* **approve:** hide "may block" banner when not partial approve ([#6410](https://github.com/cowprotocol/cowswap/issues/6410)) ([479f61b](https://github.com/cowprotocol/cowswap/commit/479f61b7d21b9656caff38d043d9fa540dd83f93))
* **approve:** reset custom approve amount when trade changes ([#6421](https://github.com/cowprotocol/cowswap/issues/6421)) ([73dbdbc](https://github.com/cowprotocol/cowswap/commit/73dbdbcb2e2504309c0c2e5b442e6f0df7fdbe14))
* check swap type to calculate amount to approve ([#6463](https://github.com/cowprotocol/cowswap/issues/6463)) ([3abb7d3](https://github.com/cowprotocol/cowswap/commit/3abb7d3492a541cf521072610b6a231e6965dfc2))
* conditionally apply hover effect based on loading state ([#6461](https://github.com/cowprotocol/cowswap/issues/6461)) ([d7f0c86](https://github.com/cowprotocol/cowswap/commit/d7f0c866273b25c91a671ca8387fbd62ec01a15a))
* merge conflicts ([cb5e4e3](https://github.com/cowprotocol/cowswap/commit/cb5e4e346f76e34dd78c9aeddb3475afb8fe841b))
* put correct array for motion ([#6458](https://github.com/cowprotocol/cowswap/issues/6458)) ([c4472b9](https://github.com/cowprotocol/cowswap/commit/c4472b98ede1d7bd33190fd95e85f34fb6d62ffc))
* show warning in safe for eth in limit orders/twap ([#6464](https://github.com/cowprotocol/cowswap/issues/6464)) ([7f1b5bc](https://github.com/cowprotocol/cowswap/commit/7f1b5bc01443e4445b9905d39a6337d2286dab50))
* use ff to hide partial approve block ([#6462](https://github.com/cowprotocol/cowswap/issues/6462)) ([4f51b54](https://github.com/cowprotocol/cowswap/commit/4f51b5427b22cb3a01d1e568e9ab94923e25a516))

## [1.121.5](https://github.com/cowprotocol/cowswap/compare/cowswap-v1.121.4...cowswap-v1.121.5) (2025-10-29)


Expand Down
2 changes: 1 addition & 1 deletion apps/cowswap-frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@cowprotocol/cowswap",
"version": "1.121.5",
"version": "1.122.0",
"description": "CoW Swap",
"main": "index.js",
"author": "",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,11 @@ export const LoadingWrapper = styled.div<{ isLoading: boolean }>`
margin: auto;

&:hover {
transform: translateY(-2px);
${({ isLoading }) =>
!isLoading &&
css`
transform: translateY(-2px);
`}
}

${({ isLoading }) => isLoading && loadingAnimationMixin}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,11 @@ export const CurrencyInputBox = styled.div<{ isInvalid?: boolean }>`
gap: 8px;
}

${Media.upToTiny()} {
grid-template-columns: repeat(1, auto);
grid-template-rows: max-content;
}

> div {
display: flex;
align-items: center;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ export function ApprovalAmountInput({
return (
<styledEl.EditWrapper>
<styledEl.InputHeader>
Approval amount: <styledEl.ResetBtn onClick={onReset}>{resetLabel}</styledEl.ResetBtn>
Approval amount <styledEl.ResetBtn onClick={onReset}>{resetLabel}</styledEl.ResetBtn>
</styledEl.InputHeader>
<CurrencyInputPanel
className={'custom-input-panel'}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ export const EditWrapper = styled.div`
flex-direction: column;
background: var(${UI.COLOR_PAPER_DARKER});
padding: 14px;
margin: 15px;
margin: 10px;
border-radius: 14px;
border: 2px solid var(${UI.COLOR_PAPER_DARKEST});

Expand All @@ -21,6 +21,7 @@ export const InputHeader = styled.div`
display: flex;
font-size: 13px;
color: var(${UI.COLOR_TEXT_OPACITY_70});
gap: 5px;
`

export const ResetBtn = styled.button`
Expand All @@ -31,6 +32,13 @@ export const ResetBtn = styled.button`
font-weight: 500;
color: var(${UI.COLOR_TEXT_OPACITY_70});
background: var(${UI.COLOR_PAPER});
line-height: 100%;
margin-left: 5px;
line-height: 1;
transition:
background var(${UI.ANIMATION_DURATION}) ease-in-out,
color var(${UI.ANIMATION_DURATION}) ease-in-out;

&:hover {
color: var(${UI.COLOR_PAPER});
background: var(${UI.COLOR_PRIMARY_LIGHTER});
}
`
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export function ChangeApproveAmountModalPure({
</styledEl.Title>
</ModalHeader>
<styledEl.SwapInfo>
<TokenLogo token={inputToken} size={55} />
<TokenLogo token={inputToken} size={54} />
<styledEl.SetTitle>Set approval amount</styledEl.SetTitle>
<SwapAmountPreview />
</styledEl.SwapInfo>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ButtonPrimary, UI } from '@cowprotocol/ui'
import { ButtonPrimary, Media, UI } from '@cowprotocol/ui'

import styled from 'styled-components/macro'

Expand All @@ -7,20 +7,26 @@ export const Wrapper = styled.div`
width: 100%;
overflow: auto;
background: var(${UI.COLOR_PAPER});
border-radius: 20px;
border-radius: 21px;
`

export const SwapInfo = styled.div`
display: flex;
flex-direction: column;
justify-content: center;
gap: 21px;
align-items: center;
margin: 48px 0 19px 0;
margin: 24px 0;
font-size: 13px;
`

export const SetTitle = styled.div`
font-size: 23px;
margin: 16px 0;
text-align: center;

${Media.upToSmall()} {
font-size: 18px;
}
`

export const Title = styled.div`
Expand All @@ -30,6 +36,6 @@ export const Title = styled.div`
`

export const BtnWrapper = styled.div`
margin: 15px;
margin: 0 10px 10px;
`
export const ActionButton = styled(ButtonPrimary)``
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ import { useDerivedTradeState } from 'modules/trade'
const Wrapper = styled.div`
display: flex;
align-items: center;
flex-flow: row wrap;
gap: 4px;
padding: 0 10px;
`

const CapitalizedFirst = styled.span`
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import { ReactNode } from 'react'

import { useIsTxBundlingSupported } from '@cowprotocol/wallet'

import {
ApproveRequiredReason,
useGetAmountToSignApprove,
Expand All @@ -13,8 +15,9 @@ import { ActiveOrdersWithAffectedPermit } from '../ActiveOrdersWithAffectedPermi
import { TradeApproveToggle } from '../TradeApproveToggle'

export function TradeApproveWithAffectedOrderList(): ReactNode {
const isBundlingSupported = useIsTxBundlingSupported()
const { reason: isApproveRequired } = useIsApprovalOrPermitRequired({
isBundlingSupportedOrEnabledForContext: false,
isBundlingSupportedOrEnabledForContext: isBundlingSupported,
})
const isPartialApprovalEnabledInSettings = useIsPartialApprovalModeSelected()

Expand All @@ -28,7 +31,8 @@ export function TradeApproveWithAffectedOrderList(): ReactNode {

const isApproveOrPartialPermitRequired =
isApproveRequired === ApproveRequiredReason.Required ||
isApproveRequired === ApproveRequiredReason.Eip2612PermitRequired
isApproveRequired === ApproveRequiredReason.Eip2612PermitRequired ||
isApproveRequired === ApproveRequiredReason.BundleApproveRequired

if (!partialAmountToApprove || !isPartialApprovalEnabledInSettings) return null

Expand Down
Loading
Loading