Skip to content

Commit 6c34e35

Browse files
committed
feat: point CoW swap adapters at the new V3 deployment
Moves the adapter and factory addresses to the suite deployed from cow-swap-adapters@12a8bb5a and adds the leverage adapter. Linea has its own factory; every other chain uses the shared Core factory. The new factories verify adapter orders under the EIP-712 name AaveV3AdapterV3Factory, which the SDK now takes as adapterDomainName.
1 parent 32cc548 commit 6c34e35

2 files changed

Lines changed: 59 additions & 37 deletions

File tree

‎src/components/transactions/Swap/constants/cow.constants.ts‎

Lines changed: 53 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -8,64 +8,81 @@ import { OrderType, SwapType } from '../types';
88

99
export const HOOK_ADAPTER_PER_TYPE: Record<AaveFlashLoanType, Record<SupportedChainId, string>> = {
1010
[AaveFlashLoanType.CollateralSwap]: {
11-
[SupportedChainId.MAINNET]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
12-
[SupportedChainId.GNOSIS_CHAIN]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
13-
[SupportedChainId.ARBITRUM_ONE]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
14-
[SupportedChainId.AVALANCHE]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
15-
[SupportedChainId.BNB]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
16-
[SupportedChainId.POLYGON]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
17-
[SupportedChainId.BASE]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
18-
[SupportedChainId.LINEA]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
19-
[SupportedChainId.PLASMA]: '0x029d584E847373B6373b01dfaD1a0C9BfB916382',
11+
[SupportedChainId.MAINNET]: '0xa1138627412212e53C208e220696f14b0185a82c',
12+
[SupportedChainId.GNOSIS_CHAIN]: '0xa1138627412212e53C208e220696f14b0185a82c',
13+
[SupportedChainId.ARBITRUM_ONE]: '0xa1138627412212e53C208e220696f14b0185a82c',
14+
[SupportedChainId.AVALANCHE]: '0xa1138627412212e53C208e220696f14b0185a82c',
15+
[SupportedChainId.BNB]: '0xa1138627412212e53C208e220696f14b0185a82c',
16+
[SupportedChainId.POLYGON]: '0xa1138627412212e53C208e220696f14b0185a82c',
17+
[SupportedChainId.BASE]: '0xa1138627412212e53C208e220696f14b0185a82c',
18+
[SupportedChainId.LINEA]: '0xa1138627412212e53C208e220696f14b0185a82c',
19+
[SupportedChainId.PLASMA]: '0xa1138627412212e53C208e220696f14b0185a82c',
2020
[SupportedChainId.SEPOLIA]: '',
2121
[SupportedChainId.INK]: '',
2222
[SupportedChainId.SOLANA]: '',
2323
},
2424
[AaveFlashLoanType.DebtSwap]: {
25-
[SupportedChainId.MAINNET]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
26-
[SupportedChainId.GNOSIS_CHAIN]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
27-
[SupportedChainId.ARBITRUM_ONE]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
28-
[SupportedChainId.AVALANCHE]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
29-
[SupportedChainId.BNB]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
30-
[SupportedChainId.POLYGON]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
31-
[SupportedChainId.BASE]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
32-
[SupportedChainId.LINEA]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
33-
[SupportedChainId.PLASMA]: '0x73e7aF13Ef172F13d8FEfEbfD90C7A6530096344',
25+
[SupportedChainId.MAINNET]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
26+
[SupportedChainId.GNOSIS_CHAIN]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
27+
[SupportedChainId.ARBITRUM_ONE]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
28+
[SupportedChainId.AVALANCHE]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
29+
[SupportedChainId.BNB]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
30+
[SupportedChainId.POLYGON]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
31+
[SupportedChainId.BASE]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
32+
[SupportedChainId.LINEA]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
33+
[SupportedChainId.PLASMA]: '0xC898f87b572018ED25F501FFD620894a32dCa1AC',
3434
[SupportedChainId.SEPOLIA]: '',
3535
[SupportedChainId.INK]: '',
3636
[SupportedChainId.SOLANA]: '',
3737
},
3838
[AaveFlashLoanType.RepayCollateral]: {
39-
[SupportedChainId.MAINNET]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
40-
[SupportedChainId.GNOSIS_CHAIN]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
41-
[SupportedChainId.ARBITRUM_ONE]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
42-
[SupportedChainId.AVALANCHE]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
43-
[SupportedChainId.BNB]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
44-
[SupportedChainId.POLYGON]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
45-
[SupportedChainId.BASE]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
46-
[SupportedChainId.LINEA]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
47-
[SupportedChainId.PLASMA]: '0xAc27F3f86e78B14721d07C4f9CE999285f9AAa06',
39+
[SupportedChainId.MAINNET]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
40+
[SupportedChainId.GNOSIS_CHAIN]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
41+
[SupportedChainId.ARBITRUM_ONE]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
42+
[SupportedChainId.AVALANCHE]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
43+
[SupportedChainId.BNB]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
44+
[SupportedChainId.POLYGON]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
45+
[SupportedChainId.BASE]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
46+
[SupportedChainId.LINEA]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
47+
[SupportedChainId.PLASMA]: '0x4AE46995af9ED4f4EdFC6FF1523b114EE4D7053a',
48+
[SupportedChainId.SEPOLIA]: '',
49+
[SupportedChainId.INK]: '',
50+
[SupportedChainId.SOLANA]: '',
51+
},
52+
[AaveFlashLoanType.Leverage]: {
53+
[SupportedChainId.MAINNET]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
54+
[SupportedChainId.GNOSIS_CHAIN]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
55+
[SupportedChainId.ARBITRUM_ONE]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
56+
[SupportedChainId.AVALANCHE]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
57+
[SupportedChainId.BNB]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
58+
[SupportedChainId.POLYGON]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
59+
[SupportedChainId.BASE]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
60+
[SupportedChainId.LINEA]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
61+
[SupportedChainId.PLASMA]: '0xaEE8B0666BF8a584e9D67bFaa65007E74c70b26a',
4862
[SupportedChainId.SEPOLIA]: '',
4963
[SupportedChainId.INK]: '',
5064
[SupportedChainId.SOLANA]: '',
5165
},
5266
};
5367

5468
export const ADAPTER_FACTORY: Record<SupportedChainId, string> = {
55-
[SupportedChainId.MAINNET]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
56-
[SupportedChainId.GNOSIS_CHAIN]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
57-
[SupportedChainId.ARBITRUM_ONE]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
58-
[SupportedChainId.AVALANCHE]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
59-
[SupportedChainId.BNB]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
60-
[SupportedChainId.POLYGON]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
61-
[SupportedChainId.BASE]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
62-
[SupportedChainId.LINEA]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
63-
[SupportedChainId.PLASMA]: '0xdeCC46a4b09162F5369c5C80383AAa9159bCf192',
69+
[SupportedChainId.MAINNET]: '0xD2CC30cB0e77B80a34b879ccB6da67799e4ecD83',
70+
[SupportedChainId.GNOSIS_CHAIN]: '0xD2CC30cB0e77B80a34b879ccB6da67799e4ecD83',
71+
[SupportedChainId.ARBITRUM_ONE]: '0xD2CC30cB0e77B80a34b879ccB6da67799e4ecD83',
72+
[SupportedChainId.AVALANCHE]: '0xD2CC30cB0e77B80a34b879ccB6da67799e4ecD83',
73+
[SupportedChainId.BNB]: '0xD2CC30cB0e77B80a34b879ccB6da67799e4ecD83',
74+
[SupportedChainId.POLYGON]: '0xD2CC30cB0e77B80a34b879ccB6da67799e4ecD83',
75+
[SupportedChainId.BASE]: '0xD2CC30cB0e77B80a34b879ccB6da67799e4ecD83',
76+
[SupportedChainId.LINEA]: '0x3171FC716942a40DEDe8dD0B7885dd9f44eca176',
77+
[SupportedChainId.PLASMA]: '0xD2CC30cB0e77B80a34b879ccB6da67799e4ecD83',
6478
[SupportedChainId.SEPOLIA]: '',
6579
[SupportedChainId.INK]: '',
6680
[SupportedChainId.SOLANA]: '',
6781
};
6882

83+
// EIP-712 domain name the factories above verify adapter order signatures against.
84+
export const ADAPTER_FACTORY_DOMAIN_NAME = 'AaveV3AdapterV3Factory';
85+
6986
export const DUST_PROTECTION_MULTIPLIER = 1.0003; // 3 BPS
7087

7188
export const COW_UNSUPPORTED_ASSETS: Partial<

‎src/components/transactions/Swap/helpers/cow/env.helpers.ts‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@ import { wagmiConfig } from 'src/ui-config/wagmiConfig';
66
import { getProvider } from 'src/utils/marketsAndNetworksConfig';
77
import { getAccount, getWalletClient } from 'wagmi/actions';
88

9-
import { ADAPTER_FACTORY, HOOK_ADAPTER_PER_TYPE } from '../../constants/cow.constants';
9+
import {
10+
ADAPTER_FACTORY,
11+
ADAPTER_FACTORY_DOMAIN_NAME,
12+
HOOK_ADAPTER_PER_TYPE,
13+
} from '../../constants/cow.constants';
1014
import { APP_CODE_PER_SWAP_TYPE } from '../../constants/shared.constants';
1115
import { SwapState } from '../../types';
1216
import { COW_ENV } from './orders.helpers';
@@ -42,6 +46,7 @@ export const getCowFlashLoanSdk = async (chainId: number) => {
4246
return new AaveCollateralSwapSdk({
4347
hookAdapterPerType: HOOK_ADAPTER_PER_TYPE,
4448
aaveAdapterFactory: ADAPTER_FACTORY,
49+
adapterDomainName: ADAPTER_FACTORY_DOMAIN_NAME,
4550
hooksGasLimit: {
4651
pre: BigInt(300000),
4752
post: BigInt(700000),

0 commit comments

Comments
 (0)