Skip to content

Commit 931aa0c

Browse files
authored
Remove CM (#4037)
* Remove CM * fix translation file typo
1 parent 3bab84e commit 931aa0c

File tree

114 files changed

+65
-3560
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

114 files changed

+65
-3560
lines changed

analytics/types.ts

-6
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ export enum MixpanelPages {
3232
StopLoss = 'StopLoss',
3333
AutoBuy = 'AutoBuy',
3434
AutoSell = 'AutoSell',
35-
ConstantMultiple = 'ConstantMultiple',
3635
TakeProfit = 'TakeProfit',
3736
DAISavingsRate = 'DAISavingsRate',
3837
ProductHub = 'ProductHub',
@@ -47,7 +46,6 @@ export enum MixpanelAutomationEventIds {
4746
SelectStopLoss = 'SelectStopLoss',
4847
SelectAutoSell = 'SelectAutoSell',
4948
SelectAutoBuy = 'SelectAutoBuy',
50-
SelectConstantMultiple = 'SelectConstantMultiple',
5149
SelectTakeProfit = 'SelectTakeProfit',
5250

5351
AddStopLoss = 'AddStopLoss',
@@ -62,10 +60,6 @@ export enum MixpanelAutomationEventIds {
6260
EditAutoSell = 'EditAutoSell',
6361
RemoveAutoSell = 'RemoveAutoSell',
6462

65-
AddConstantMultiple = 'AddConstantMultiple',
66-
EditConstantMultiple = 'EditConstantMultiple',
67-
RemoveConstantMultiple = 'RemoveConstantMultiple',
68-
6963
AddTakeProfit = 'AddTakeProfit',
7064
EditTakeProfit = 'EditTakeProfit',
7165
RemoveTakeProfit = 'RemoveAutoTakeProfit',

blockchain/calls/automationBotAggregator.constants.ts

+2-20
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,9 @@ import { getNetworkContracts } from 'blockchain/contracts'
44
import { contractDesc, NetworkIds } from 'blockchain/networks'
55
import type { DsProxy } from 'types/web3-v1-contracts'
66

7-
import {
8-
getAddAutomationAggregatotTriggerCallData,
9-
getRemoveAutomationBotAggregatorTriggersCallData,
10-
} from './automationBotAggregator'
11-
import type {
12-
AutomationBotAddAggregatorTriggerData,
13-
AutomationBotRemoveTriggersData,
14-
} from './automationBotAggregator.types'
7+
import { getRemoveAutomationBotAggregatorTriggersCallData } from './automationBotAggregator'
8+
import type { AutomationBotRemoveTriggersData } from './automationBotAggregator.types'
159

16-
export const addAutomationBotAggregatorTrigger: TransactionDef<AutomationBotAddAggregatorTriggerData> =
17-
{
18-
call: ({ proxyAddress }, { contract }) => {
19-
return contract<DsProxy>(contractDesc(dsProxy, proxyAddress)).methods[
20-
'execute(address,bytes)'
21-
]
22-
},
23-
prepareArgs: (data, context) => [
24-
getNetworkContracts(NetworkIds.MAINNET, context.chainId).automationBotAggregator.address,
25-
getAddAutomationAggregatotTriggerCallData(data, context).encodeABI(),
26-
],
27-
}
2810
export const removeAutomationBotAggregatorTriggers: TransactionDef<AutomationBotRemoveTriggersData> =
2911
{
3012
call: ({ proxyAddress }, { contract }) => {

blockchain/calls/automationBotAggregator.ts

+1-23
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,9 @@
1-
import BigNumber from 'bignumber.js'
21
import { getNetworkContracts } from 'blockchain/contracts'
32
import type { ContextConnected } from 'blockchain/network.types'
43
import { NetworkIds } from 'blockchain/networks'
5-
import { CONSTANT_MULTIPLE_GROUP_TYPE } from 'features/automation/optimization/constantMultiple/state/useConstantMultipleStateInitialization.constants'
64
import type { AutomationBotAggregator } from 'types/web3-v1-contracts'
75

8-
import type {
9-
AutomationBotAddAggregatorTriggerData,
10-
AutomationBotRemoveTriggersData,
11-
} from './automationBotAggregator.types'
12-
13-
export function getAddAutomationAggregatotTriggerCallData(
14-
data: AutomationBotAddAggregatorTriggerData,
15-
context: ContextConnected,
16-
) {
17-
const { contract, chainId } = context
18-
19-
return contract<AutomationBotAggregator>(
20-
getNetworkContracts(NetworkIds.MAINNET, chainId).automationBotAggregator,
21-
).methods.addTriggerGroup(
22-
CONSTANT_MULTIPLE_GROUP_TYPE,
23-
data.replacedTriggerIds.map((id: BigNumber) =>
24-
BigNumber.isBigNumber(id) ? id.toString() : id,
25-
),
26-
data.triggersData,
27-
)
28-
}
6+
import type { AutomationBotRemoveTriggersData } from './automationBotAggregator.types'
297

308
export function getRemoveAutomationBotAggregatorTriggersCallData(
319
data: AutomationBotRemoveTriggersData,

components/AutomationIcon.tsx

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { StatefulTooltip } from 'components/Tooltip'
44
import type { PortfolioPosition } from 'handlers/portfolio/types'
55
import { useTranslation } from 'next-i18next'
66
import React from 'react'
7-
import { auto_buy, auto_sell, constant_multiple, stop_loss, take_profit } from 'theme/icons'
7+
import { auto_buy, auto_sell, stop_loss, take_profit } from 'theme/icons'
88

99
interface AutomationIconProps {
1010
enabled: boolean
@@ -15,7 +15,6 @@ interface AutomationIconProps {
1515
const automationIconMap: Record<keyof PortfolioPosition['automations'], IconProps['icon']> = {
1616
autoBuy: auto_buy,
1717
autoSell: auto_sell,
18-
constantMultiple: constant_multiple,
1918
stopLoss: stop_loss,
2019
takeProfit: take_profit,
2120
}

components/Banner.constants.ts

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import type { BannerGradientPresetsArray } from './Banner.types'
33
export const bannerGradientPresets: BannerGradientPresetsArray = {
44
autoBuy: ['#e0e7ff', '#fae2fc'],
55
autoSell: ['#fef1e1', '#fef5d6'],
6-
constantMultiply: ['#ffdde7', '#ffe7f5'],
76
stopLoss: ['#ffeaea', '#fff5ea'],
87
trailingStopLoss: ['#ffeaea', '#fff5ea'],
98
partialTakeProfit: ['#ffeaea', '#fff5ea'],

components/context/AutomationContextProvider.tsx

-22
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,13 @@ import type {
1616
AutoBSMetadata,
1717
AutomationDefinitionMetadata,
1818
AutoTakeProfitMetadata,
19-
ConstantMultipleMetadata,
2019
OverwriteTriggersDefaults,
2120
StopLossMetadata,
2221
} from 'features/automation/metadata/types'
2322
import { extractAutoTakeProfitData } from 'features/automation/optimization/autoTakeProfit/state/autoTakeProfitTriggerData'
2423
import type { AutoTakeProfitTriggerData } from 'features/automation/optimization/autoTakeProfit/state/autoTakeProfitTriggerData.types'
2524
import { defaultAutoTakeProfitData } from 'features/automation/optimization/autoTakeProfit/state/defaultAutoTakeProfitData'
2625
import { useAutoTakeProfitStateInitializator } from 'features/automation/optimization/autoTakeProfit/state/useAutoTakeProfitStateInitializator'
27-
import { extractConstantMultipleData } from 'features/automation/optimization/constantMultiple/state/constantMultipleTriggerData'
28-
import { defaultConstantMultipleData } from 'features/automation/optimization/constantMultiple/state/constantMultipleTriggerData.constants'
29-
import type { ConstantMultipleTriggerData } from 'features/automation/optimization/constantMultiple/state/constantMultipleTriggerData.types'
30-
import { useConstantMultipleStateInitialization } from 'features/automation/optimization/constantMultiple/state/useConstantMultipleStateInitialization'
3126
import { extractStopLossData } from 'features/automation/protection/stopLoss/state/stopLossTriggerData'
3227
import { defaultStopLossData } from 'features/automation/protection/stopLoss/state/stopLossTriggerData.constants'
3328
import type { StopLossTriggerData } from 'features/automation/protection/stopLoss/state/stopLossTriggerData.types'
@@ -83,7 +78,6 @@ export interface AutomationContext {
8378
autoBuyMetadata: AutoBSMetadata
8479
autoSellMetadata: AutoBSMetadata
8580
autoTakeProfitMetadata: AutoTakeProfitMetadata
86-
constantMultipleMetadata: ConstantMultipleMetadata
8781
stopLossMetadata: StopLossMetadata
8882
}
8983
positionData: AutomationPositionData
@@ -92,7 +86,6 @@ export interface AutomationContext {
9286
autoBuyTriggerData: AutoBSTriggerData
9387
autoSellTriggerData: AutoBSTriggerData
9488
autoTakeProfitTriggerData: AutoTakeProfitTriggerData
95-
constantMultipleTriggerData: ConstantMultipleTriggerData
9689
stopLossTriggerData: StopLossTriggerData
9790
}
9891
}
@@ -180,7 +173,6 @@ export function AutomationContextProvider({
180173
autoBuyTriggerData: defaultAutoBSData,
181174
autoSellTriggerData: defaultAutoBSData,
182175
autoTakeProfitTriggerData: defaultAutoTakeProfitData,
183-
constantMultipleTriggerData: defaultConstantMultipleData,
184176
stopLossTriggerData: defaultStopLossData,
185177
}
186178

@@ -235,19 +227,6 @@ export function AutomationContextProvider({
235227
type: TriggerType.BasicBuy,
236228
})
237229

238-
useConstantMultipleStateInitialization({
239-
autoBuyTriggerData: autoContext.triggerData.autoBuyTriggerData,
240-
autoSellTriggerData: autoContext.triggerData.autoSellTriggerData,
241-
constantMultipleTriggerData: autoContext.triggerData.constantMultipleTriggerData,
242-
stopLossTriggerData: autoContext.triggerData.stopLossTriggerData,
243-
debt: positionData.debt,
244-
debtFloor: positionData.debtFloor,
245-
ilk: positionData.ilk,
246-
liquidationRatio: positionData.liquidationRatio,
247-
lockedCollateral: positionData.lockedCollateral,
248-
positionRatio: positionData.positionRatio,
249-
})
250-
251230
useAutoTakeProfitStateInitializator({
252231
autoTakeProfitTriggerData: autoContext.triggerData.autoTakeProfitTriggerData,
253232
debt: positionData.debt,
@@ -275,7 +254,6 @@ export function AutomationContextProvider({
275254
triggerType: TriggerType.BasicSell,
276255
}),
277256
autoTakeProfitTriggerData: extractAutoTakeProfitData(resolvedAutomationTriggersData),
278-
constantMultipleTriggerData: extractConstantMultipleData(resolvedAutomationTriggersData),
279257
stopLossTriggerData: extractStopLossData(
280258
resolvedAutomationTriggersData,
281259
overwriteTriggersDefaults.stopLossTriggerData,

components/portfolio/positions/PortfolioPositionAutomationIcons.tsx

-7
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,6 @@ export const PortfolioPositionAutomationIcons = ({
3939
iconNotActiveBg={iconNotActiveBg}
4040
/>
4141
)}
42-
{automations.constantMultiple && (
43-
<AutomationIcon
44-
enabled={automations.constantMultiple.enabled}
45-
type="constantMultiple"
46-
iconNotActiveBg={iconNotActiveBg}
47-
/>
48-
)}
4942
</>
5043
)
5144
}

components/vault/GeneralManageTabBar.tsx

+2-5
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,14 @@ export function GeneralManageTabBar({
3939
autoBuyTriggerData,
4040
autoSellTriggerData,
4141
autoTakeProfitTriggerData,
42-
constantMultipleTriggerData,
4342
stopLossTriggerData,
4443
},
4544
} = useAutomationContext()
4645

4746
const protectionEnabled =
4847
stopLossTriggerData.isStopLossEnabled || autoSellTriggerData.isTriggerEnabled
4948
const optimizationEnabled =
50-
autoBuyTriggerData.isTriggerEnabled ||
51-
constantMultipleTriggerData.isTriggerEnabled ||
52-
autoTakeProfitTriggerData.isTriggerEnabled
49+
autoBuyTriggerData.isTriggerEnabled || autoTakeProfitTriggerData.isTriggerEnabled
5350

5451
useEffect(() => {
5552
const uiChanges$ = uiChanges.subscribe<TabChange>(TAB_CHANGE_SUBJECT)
@@ -96,7 +93,7 @@ export function GeneralManageTabBar({
9693
label: t('system.optimization'),
9794
value: VaultViewMode.Optimization,
9895
tag: { include: true, active: optimizationEnabled },
99-
content: <OptimizationControl vaultHistory={vaultHistory} />,
96+
content: <OptimizationControl />,
10097
callback: () => {
10198
trackingEvents.automation.buttonClick(
10299
MixpanelAutomationEventIds.SelectOptimization,

components/vault/OptimizationControl.tsx

+7-39
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ import { AUTO_TAKE_PROFIT_FORM_CHANGE } from 'features/automation/optimization/a
88
import type { AutoTakeProfitFormChange } from 'features/automation/optimization/autoTakeProfit/state/autoTakeProfitFormChange.types'
99
import { OptimizationDetailsControl } from 'features/automation/optimization/common/controls/OptimizationDetailsControl'
1010
import { OptimizationFormControl } from 'features/automation/optimization/common/controls/OptimizationFormControl'
11-
import { CONSTANT_MULTIPLE_FORM_CHANGE } from 'features/automation/optimization/constantMultiple/state/constantMultipleFormChange.constants'
12-
import type { ConstantMultipleFormChange } from 'features/automation/optimization/constantMultiple/state/constantMultipleFormChange.types'
1311
import { VaultNotice } from 'features/notices/VaultsNoticesView'
14-
import type { VaultHistoryEvent } from 'features/vaultHistory/vaultHistory.types'
1512
import { EXTERNAL_LINKS } from 'helpers/applicationLinks'
1613
import { VaultContainerSpinner, WithLoadingIndicator } from 'helpers/AppSpinner'
1714
import { useAppConfig } from 'helpers/config'
@@ -63,32 +60,19 @@ function ZeroDebtOptimizationBanner({
6360
}
6461
function getZeroDebtOptimizationBannerProps({
6562
readOnlyAutoBSEnabled,
66-
constantMultipleReadOnlyEnabled,
6763
readOnlyAutoTakeProfitEnabled,
6864
isVaultDebtZero,
6965
vaultHasNoActiveBuyTrigger,
70-
vaultHasNoActiveConstantMultipleTriggers,
7166
vaultHasNoActiveAutoTakeProfitTrigger,
7267
}: {
7368
readOnlyAutoBSEnabled: boolean
74-
constantMultipleReadOnlyEnabled: boolean
7569
readOnlyAutoTakeProfitEnabled: boolean
7670
isVaultDebtZero: boolean
7771
vaultHasNoActiveBuyTrigger?: boolean
78-
vaultHasNoActiveConstantMultipleTriggers?: boolean
7972
vaultHasNoActiveAutoTakeProfitTrigger?: boolean
8073
}): ZeroDebtOptimizationBannerProps {
81-
if (
82-
!readOnlyAutoBSEnabled &&
83-
!constantMultipleReadOnlyEnabled &&
84-
!readOnlyAutoTakeProfitEnabled
85-
) {
86-
if (
87-
isVaultDebtZero &&
88-
vaultHasNoActiveBuyTrigger &&
89-
vaultHasNoActiveConstantMultipleTriggers &&
90-
vaultHasNoActiveAutoTakeProfitTrigger
91-
) {
74+
if (!readOnlyAutoBSEnabled && !readOnlyAutoTakeProfitEnabled) {
75+
if (isVaultDebtZero && vaultHasNoActiveBuyTrigger && vaultHasNoActiveAutoTakeProfitTrigger) {
9276
return {
9377
header: 'optimization.zero-debt-heading',
9478
description: 'optimization.zero-debt-description',
@@ -108,65 +92,49 @@ function getZeroDebtOptimizationBannerProps({
10892
}
10993
}
11094

111-
interface OptimizationControlProps {
112-
vaultHistory: VaultHistoryEvent[]
113-
}
114-
115-
export function OptimizationControl({ vaultHistory }: OptimizationControlProps) {
95+
export function OptimizationControl() {
11696
const {
11797
positionData: { debt },
118-
triggerData: { autoBuyTriggerData, autoTakeProfitTriggerData, constantMultipleTriggerData },
98+
triggerData: { autoBuyTriggerData, autoTakeProfitTriggerData },
11999
} = useAutomationContext()
120100
const { txHelpers$ } = useMainContext()
121101
const [txHelpersData] = useObservable(txHelpers$)
122102
const [autoBuyState] = useUIChanges<AutoBSFormChange>(AUTO_BUY_FORM_CHANGE)
123103
const [autoTakeProfitState] = useUIChanges<AutoTakeProfitFormChange>(AUTO_TAKE_PROFIT_FORM_CHANGE)
124-
const [constantMultipleState] = useUIChanges<ConstantMultipleFormChange>(
125-
CONSTANT_MULTIPLE_FORM_CHANGE,
126-
)
127104

128105
const {
129106
ReadOnlyBasicBS: readOnlyAutoBSEnabled,
130-
ConstantMultipleReadOnly: constantMultipleReadOnlyEnabled,
131107
ReadOnlyAutoTakeProfit: readOnlyAutoTakeProfitEnabled,
132108
} = useAppConfig('features')
133109

134110
const vaultHasActiveAutoBuyTrigger = autoBuyTriggerData.isTriggerEnabled
135-
const vaultHasActiveConstantMultipleTrigger = constantMultipleTriggerData.isTriggerEnabled
136111
const vaultHasActiveAutoTakeProfitTrigger = autoTakeProfitTriggerData.isTriggerEnabled
137112

138113
return (
139114
<WithLoadingIndicator
140-
value={[autoBuyState, autoTakeProfitState, constantMultipleState]}
115+
value={[autoBuyState, autoTakeProfitState]}
141116
customLoader={<VaultContainerSpinner />}
142117
>
143118
{() =>
119+
(!vaultHasActiveAutoBuyTrigger && !vaultHasActiveAutoTakeProfitTrigger && debt.isZero()) ||
144120
(!vaultHasActiveAutoBuyTrigger &&
145-
!vaultHasActiveConstantMultipleTrigger &&
146-
!vaultHasActiveAutoTakeProfitTrigger &&
147-
debt.isZero()) ||
148-
(!vaultHasActiveAutoBuyTrigger &&
149-
!vaultHasActiveConstantMultipleTrigger &&
150121
!vaultHasActiveAutoTakeProfitTrigger &&
151122
readOnlyAutoBSEnabled &&
152-
constantMultipleReadOnlyEnabled &&
153123
readOnlyAutoTakeProfitEnabled) ? (
154124
<Container variant="vaultPageContainer" sx={{ zIndex: 0 }}>
155125
<ZeroDebtOptimizationBanner
156126
{...getZeroDebtOptimizationBannerProps({
157127
readOnlyAutoBSEnabled,
158128
isVaultDebtZero: debt.isZero(),
159129
vaultHasNoActiveBuyTrigger: !vaultHasActiveAutoBuyTrigger,
160-
constantMultipleReadOnlyEnabled,
161130
readOnlyAutoTakeProfitEnabled,
162-
vaultHasNoActiveConstantMultipleTriggers: !vaultHasActiveConstantMultipleTrigger,
163131
vaultHasNoActiveAutoTakeProfitTrigger: !vaultHasActiveAutoTakeProfitTrigger,
164132
})}
165133
/>
166134
</Container>
167135
) : (
168136
<DefaultVaultLayout
169-
detailsViewControl={<OptimizationDetailsControl vaultHistory={vaultHistory} />}
137+
detailsViewControl={<OptimizationDetailsControl />}
170138
editForm={<OptimizationFormControl txHelpers={txHelpersData} />}
171139
/>
172140
)

components/vault/VaultErrors.tsx

-7
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ export function VaultErrors({
2929
maxGenerateAmount = zero,
3030
maxWithdrawAmount = zero,
3131
ilkData: { debtFloor, token } = { debtFloor: zero, token: '' },
32-
autoType,
3332
infoBag,
3433
}: VaultErrorsProps) {
3534
const { t } = useTranslation()
@@ -146,10 +145,6 @@ export function VaultErrors({
146145
return translate('after-coll-ratio-below-auto-sell-ratio')
147146
case 'afterCollRatioAboveAutoBuyRatio':
148147
return translate('after-coll-ratio-above-auto-buy-ratio')
149-
case 'afterCollRatioBelowConstantMultipleSellRatio':
150-
return translate('after-coll-ratio-below-constant-multiple-sell-ratio')
151-
case 'afterCollRatioAboveConstantMultipleBuyRatio':
152-
return translate('after-coll-ratio-above-constant-multiple-buy-ratio')
153148
case 'vaultWillBeTakenUnderMinActiveColRatio':
154149
return translate('vault-will-be-taken-under-min-active-col-ratio')
155150
case 'stopLossOnNearLiquidationRatio':
@@ -168,8 +163,6 @@ export function VaultErrors({
168163
return translate('stop-loss-trigger-higher-than-auto-buy-target')
169164
case 'stopLossTriggerLtvLowerThanAutoBuy':
170165
return translate('stop-loss-trigger-ltv-lower-than-auto-buy')
171-
case 'cantSetupAutoBuyOrSellWhenConstantMultipleEnabled':
172-
return translate('cant-setup-auto-buy-or-sell-when-constant-multiple-enabled', { autoType })
173166
case 'minSellPriceWillPreventSellTrigger':
174167
return translate('min-sell-price-will-prevent-sell-trigger')
175168
case 'maxBuyPriceWillPreventBuyTrigger':

0 commit comments

Comments
 (0)