diff --git a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts index 22f09a55bd..4c44cd1c92 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts @@ -71,8 +71,8 @@ function valueByChainId(rest: Partial<{ [key in ChainId]: T }>, defaultValue: [ChainId.Fantom]: defaultValue, [ChainId.Celo]: defaultValue, [ChainId.Optimism]: defaultValue, + [ChainId.ArbitrumRinkeby]: defaultValue, [ChainId.Arbitrum]: defaultValue, - ...(rest || {}), }; } @@ -224,6 +224,10 @@ export const SELL_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId( ERC20BridgeSource.Velodrome, ERC20BridgeSource.Synthetix, ]), + [ChainId.ArbitrumRinkeby]: new SourceFilters([ + ERC20BridgeSource.Native, + ERC20BridgeSource.UniswapV3, + ]), }, new SourceFilters([]), ); @@ -375,6 +379,10 @@ export const BUY_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId( ERC20BridgeSource.Velodrome, ERC20BridgeSource.Synthetix, ]), + [ChainId.ArbitrumRinkeby]: new SourceFilters([ + ERC20BridgeSource.Native, + ERC20BridgeSource.UniswapV3, + ]), }, new SourceFilters([]), ); @@ -399,6 +407,7 @@ export const FEE_QUOTE_SOURCES_BY_CHAIN_ID = valueByChainId [ChainId.Fantom]: [ERC20BridgeSource.SpiritSwap, ERC20BridgeSource.SpookySwap, ERC20BridgeSource.SushiSwap], [ChainId.Celo]: [ERC20BridgeSource.UbeSwap, ERC20BridgeSource.SushiSwap], [ChainId.Optimism]: [ERC20BridgeSource.UniswapV3], + [ChainId.ArbitrumRinkeby]: [ERC20BridgeSource.UniswapV3], }, [], ); @@ -916,6 +925,11 @@ export const DEFAULT_INTERMEDIATE_TOKENS_BY_CHAIN_ID = valueByChainId( '0x11fE4B6AE13d2a6055C8D9cF65c55bac32B5d844', // DAI '0x07865c6E87B9F70255377e024ace6630C1Eaa37F', // USDC ], + [ChainId.ArbitrumRinkeby]: [ + getContractAddressesForChainOrThrow(ChainId.ArbitrumRinkeby).etherToken, + '0x237b3B5238D2022aA80cAd1f67dAE53f353F74bF', // USDT + '0xF61Cffd6071a8DB7cD5E8DF1D3A5450D9903cF1c', // USDC + ], [ChainId.PolygonMumbai]: [ getContractAddressesForChainOrThrow(ChainId.PolygonMumbai).etherToken, '0xe6b8a5CF854791412c1f6EFC7CAf629f5Df1c747', // USDC @@ -1047,6 +1061,7 @@ export const NATIVE_FEE_TOKEN_BY_CHAIN_ID = valueByChainId( [ChainId.Ropsten]: getContractAddressesForChainOrThrow(ChainId.Ropsten).etherToken, [ChainId.Goerli]: getContractAddressesForChainOrThrow(ChainId.Goerli).etherToken, [ChainId.PolygonMumbai]: getContractAddressesForChainOrThrow(ChainId.PolygonMumbai).etherToken, + [ChainId.ArbitrumRinkeby]: getContractAddressesForChainOrThrow(ChainId.ArbitrumRinkeby).etherToken, [ChainId.Rinkeby]: getContractAddressesForChainOrThrow(ChainId.Rinkeby).etherToken, [ChainId.Kovan]: getContractAddressesForChainOrThrow(ChainId.Kovan).etherToken, [ChainId.Polygon]: getContractAddressesForChainOrThrow(ChainId.Polygon).etherToken, @@ -2225,6 +2240,10 @@ export const UNISWAPV3_CONFIG_BY_CHAIN_ID = valueByChainId( quoter: '0x61ffe014ba17989e743c5f6cb21bf9697530b21e', router: '0xe592427a0aece92de3edee1f18e0157c05861564', }, + [ChainId.ArbitrumRinkeby]: { + quoter: '0x61ffe014ba17989e743c5f6cb21bf9697530b21e', + router: '0xe592427a0aece92de3edee1f18e0157c05861564', + }, }, { quoter: NULL_ADDRESS, router: NULL_ADDRESS }, ); diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 8b7876293c..3bc3ca0ea5 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "version": "6.22.0", + "changes": [ + { + "note": "Arbitrum Rinkeby support", + "pr": 552 + } + ] + }, { "version": "6.21.0", "changes": [ diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index 7c6527fd34..19b07b20f5 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -545,6 +545,48 @@ "positiveSlippageFeeTransformer": "0xb11e14565dfbeb702dea9bc0cb47f1a8b32f4783" } }, + "421611": { + "erc20Proxy": "0x0000000000000000000000000000000000000000", + "erc721Proxy": "0x0000000000000000000000000000000000000000", + "zrxToken": "0x0000000000000000000000000000000000000000", + "etherToken": "0x4200000000000000000000000000000000000006", + "exchangeV2": "0x0000000000000000000000000000000000000000", + "exchange": "0x0000000000000000000000000000000000000000", + "assetProxyOwner": "0x0000000000000000000000000000000000000000", + "zeroExGovernor": "0x0000000000000000000000000000000000000000", + "forwarder": "0x0000000000000000000000000000000000000000", + "coordinatorRegistry": "0x0000000000000000000000000000000000000000", + "coordinator": "0x0000000000000000000000000000000000000000", + "multiAssetProxy": "0x0000000000000000000000000000000000000000", + "staticCallProxy": "0x0000000000000000000000000000000000000000", + "erc1155Proxy": "0x0000000000000000000000000000000000000000", + "devUtils": "0x0000000000000000000000000000000000000000", + "zrxVault": "0x0000000000000000000000000000000000000000", + "staking": "0x0000000000000000000000000000000000000000", + "stakingProxy": "0x0000000000000000000000000000000000000000", + "erc20BridgeProxy": "0x0000000000000000000000000000000000000000", + "erc20BridgeSampler": "0x0000000000000000000000000000000000000000", + "chaiBridge": "0x0000000000000000000000000000000000000000", + "dydxBridge": "0x0000000000000000000000000000000000000000", + "godsUnchainedValidator": "0x0000000000000000000000000000000000000000", + "broker": "0x0000000000000000000000000000000000000000", + "chainlinkStopLimit": "0x0000000000000000000000000000000000000000", + "maximumGasPrice": "0x0000000000000000000000000000000000000000", + "dexForwarderBridge": "0x0000000000000000000000000000000000000000", + "exchangeProxyGovernor": "0xf5e66206eb523988eae22dd7d4e06e36999fef94", + "exchangeProxy": "0x2c1994270ae589deae7b4bb6c2446c57d40b99d4", + "exchangeProxyTransformerDeployer": "0x42b43abe1358a7b2c00f8eb5b2668f821ee8edbf", + "exchangeProxyFlashWallet": "0xc1831049d451b69a9dccc391f8285eb83c94c940", + "exchangeProxyLiquidityProviderSandbox": "0x0000000000000000000000000000000000000000", + "zrxTreasury": "0x0000000000000000000000000000000000000000", + "transformers": { + "wethTransformer": "0x7c0ef1020f9ee63bcf8248006174b9cbaa29af5a", + "payTakerTransformer": "0xb5c5ebd57ccf14480e30ce85f891f894cedbc694", + "affiliateFeeTransformer": "0xfa3d8ca1c877185af1ce2ec558e586e12cdbc50c", + "fillQuoteTransformer": "0xd6ddb08beb4c48e35352ee4df5ebc028e72f3c81", + "positiveSlippageFeeTransformer": "0x8830f7c5925b129efcc7831397f30c1c02953bac" + } + }, "42161": { "erc20Proxy": "0x0000000000000000000000000000000000000000", "erc721Proxy": "0x0000000000000000000000000000000000000000", @@ -587,4 +629,5 @@ "positiveSlippageFeeTransformer": "0xd56b9c014b45ed95e2a048a0c28121db30265f13" } } + } diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index 6767d3b119..9f648bfc2f 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -56,8 +56,9 @@ export enum ChainId { Avalanche = 43114, Fantom = 250, Celo = 42220, - Arbitrum = 42161, Optimism = 10, + Arbitrum = 42161, + ArbitrumRinkeby = 421611 } /**