diff --git a/contracts/zero-ex/generated-artifacts-zeroEx.zip b/contracts/zero-ex/generated-artifacts-zeroEx.zip new file mode 100644 index 0000000000..82f8e70ad2 Binary files /dev/null and b/contracts/zero-ex/generated-artifacts-zeroEx.zip differ diff --git a/packages/asset-swapper/CHANGELOG.json b/packages/asset-swapper/CHANGELOG.json index 1ffd259a88..c735e9caf7 100644 --- a/packages/asset-swapper/CHANGELOG.json +++ b/packages/asset-swapper/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "16.50.0", + "changes": [ + { + "note": "Add support for Arbitrum one mainnet". + } + ] + }, { "version": "16.49.3", "changes": [ diff --git a/packages/asset-swapper/package.json b/packages/asset-swapper/package.json index cd75a1a87f..d39a27709f 100644 --- a/packages/asset-swapper/package.json +++ b/packages/asset-swapper/package.json @@ -60,10 +60,11 @@ "dependencies": { "@0x/assert": "^3.0.29", "@0x/base-contract": "^6.4.2", - "@0x/contract-addresses": "^6.11.0", - "@0x/contract-wrappers": "^13.18.5", - "@0x/contracts-erc20": "^3.3.25", - "@0x/contracts-zero-ex": "^0.30.1", + "@0x/contract-addresses": "^6.10.0", + "@0x/contract-wrappers": "^13.18.4", + "@0x/contracts-asset-proxy": "^3.7.19", + "@0x/contracts-erc20": "^3.3.24", + "@0x/contracts-zero-ex": "^0.30.0", "@0x/dev-utils": "^4.2.9", "@0x/json-schemas": "^6.3.0", "@0x/neon-router": "^0.3.1", 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 d21254876b..2c796f2292 100644 --- a/packages/asset-swapper/src/utils/market_operation_utils/constants.ts +++ b/packages/asset-swapper/src/utils/market_operation_utils/constants.ts @@ -62,6 +62,7 @@ function valueByChainId(rest: Partial<{ [key in ChainId]: T }>, defaultValue: [ChainId.Fantom]: defaultValue, [ChainId.Optimism]: defaultValue, [ChainId.Arbitrum]: defaultValue, + [ChainId.Celo]: defaultValue, ...(rest || {}), }; } @@ -215,6 +216,11 @@ export const SELL_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId( ERC20BridgeSource.CurveV2, ERC20BridgeSource.MultiHop, ]), + [ChainId.Arbitrum]: new SourceFilters([ + ERC20BridgeSource.UniswapV3, + ERC20BridgeSource.SushiSwap, + ERC20BridgeSource.MultiHop, + ]), }, new SourceFilters([]), ); @@ -368,6 +374,11 @@ export const BUY_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId( ERC20BridgeSource.CurveV2, ERC20BridgeSource.MultiHop, ]), + [ChainId.Arbitrum]: new SourceFilters([ + ERC20BridgeSource.UniswapV3, + ERC20BridgeSource.SushiSwap, + ERC20BridgeSource.MultiHop, + ]), }, new SourceFilters([]), ); @@ -391,6 +402,7 @@ export const FEE_QUOTE_SOURCES_BY_CHAIN_ID = valueByChainId [ChainId.Arbitrum]: [ERC20BridgeSource.SushiSwap], [ChainId.Celo]: [ERC20BridgeSource.UbeSwap, ERC20BridgeSource.SushiSwap], [ChainId.Optimism]: [ERC20BridgeSource.UniswapV3], + [ChainId.Arbitrum]: [ERC20BridgeSource.UniswapV3, ERC20BridgeSource.SushiSwap], }, [], ); @@ -624,6 +636,13 @@ export const OPTIMISM_TOKENS = { sWETH: '0x121ab82b49b2bc4c7901ca46b8277962b4350204', }; +export const ARBITRUM_TOKENS = { + WETH: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1', + WBTC: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f', + USDC: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8', + DAI: '0xda10009cbd5d07dd0cecc66161fc93d7c9000da1', +}; + export const CURVE_POOLS = { compound: '0xa2b47e3d5c44877cca798226b7b8118f9bfb7a56', // 0.Compound // 1.USDT is dead @@ -899,7 +918,11 @@ export const DEFAULT_INTERMEDIATE_TOKENS_BY_CHAIN_ID = valueByChainId( OPTIMISM_TOKENS.nETH, OPTIMISM_TOKENS.sWETH, ], +<<<<<<< HEAD >>>>>>> 9d08fefa1 (Feat/synapse (#400)) +======= + [ChainId.Arbitrum]: [ARBITRUM_TOKENS.WETH, ARBITRUM_TOKENS.WBTC,ARBITRUM_TOKENS.USDC,ARBITRUM_TOKENS.DAI], +>>>>>>> ebd39d2b0 (arbitrum asset swapper) }, [], ); @@ -954,6 +977,9 @@ export const DEFAULT_TOKEN_ADJACENCY_GRAPH_BY_CHAIN_ID = valueByChainId( >>>>>>> 602290925 (fix celo rebase) ======= [ChainId.Optimism]: getContractAddressesForChainOrThrow(ChainId.Optimism).etherToken, +<<<<<<< HEAD >>>>>>> a3c912c2a (feat/optimism [TKR-280] (#385)) +======= + [ChainId.Arbitrum]: getContractAddressesForChainOrThrow(ChainId.Arbitrum).etherToken, +>>>>>>> ebd39d2b0 (arbitrum asset swapper) }, NULL_ADDRESS, ); @@ -1867,7 +1897,11 @@ export const SUSHISWAP_ROUTER_BY_CHAIN_ID = valueByChainId( >>>>>>> 6ef4d9504 (Updated Sushiswap router on CELO ) ======= [ChainId.Celo]: '0x1421bde4b10e8dd459b3bcb598810b1337d56842', +<<<<<<< HEAD >>>>>>> 82d42eeed (address to lowercase) +======= + [ChainId.Arbitrum]: '0x1b02dA8Cb0d097eB8D57A175b88c7D8b47997506', +>>>>>>> ebd39d2b0 (arbitrum asset swapper) }, NULL_ADDRESS, ); @@ -2160,6 +2194,10 @@ export const UNISWAPV3_CONFIG_BY_CHAIN_ID = valueByChainId( quoter: '0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6', router: '0xe592427a0aece92de3edee1f18e0157c05861564', }, + [ChainId.Arbitrum]: { + quoter: '0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6', + router: '0xe592427a0aece92de3edee1f18e0157c05861564', + }, }, { quoter: NULL_ADDRESS, router: NULL_ADDRESS }, ); diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index fedfef8af5..723f08da96 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "6.12.0", + "changes": [ + { + "note": "Add Support for Arbitrum One Mainnet" + } + ] + }, { "version": "6.11.0", "changes": [ diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index 688e6ccc2c..a254039f90 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -544,5 +544,47 @@ "fillQuoteTransformer": "0x3543ef833d28b7e983c293856561f21a7f089f1d", "positiveSlippageFeeTransformer": "0xb11e14565dfbeb702dea9bc0cb47f1a8b32f4783" } + }, + "42161": { + "erc20Proxy": "0x0000000000000000000000000000000000000000", + "erc721Proxy": "0x0000000000000000000000000000000000000000", + "zrxToken": "0x0000000000000000000000000000000000000000", + "etherToken": "0x82af49447d8a07e3bd95bd0d56f35241523fbab1", + "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": "0x1fe80d5ad9464dba2d60b88e449305f184823f8a", + "exchangeProxy": "0xdef1c0ded9bec7f1a1670819833240f027b25eff", + "exchangeProxyTransformerDeployer": "0x29f80c1f685e19ae1807063eda432f431ac623d0", + "exchangeProxyFlashWallet": "0xdb6f1920a889355780af7570773609bd8cb1f498", + "exchangeProxyLiquidityProviderSandbox": "0x0000000000000000000000000000000000000000", + "zrxTreasury": "0x0000000000000000000000000000000000000000", + "transformers": { + "wethTransformer": "0x10e968968f49dd66a5efeebbb2edcb9c49c4fc49", + "payTakerTransformer": "0xae3e8cf7bf340d7084f312dfae2aa8b01c885b02", + "affiliateFeeTransformer": "0x05a24978471869327904ea13da3c4322128e2aaa", + "fillQuoteTransformer": "0x5a653323c2a47a8e1b69fb3d0f15858bfc7fe205", + "positiveSlippageFeeTransformer": "0xD56B9C014b45ED95e2a048A0C28121Db30265F13" + } } } diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index b381cd0788..3c14d3f3ef 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -57,6 +57,7 @@ export enum ChainId { Arbitrum = 42161, Celo = 42220, Optimism = 10, + Arbitrum = 42161, } /** diff --git a/yarn.lock b/yarn.lock index cd8b95d07d..d476dd7c86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -738,6 +738,7 @@ "@0x/contracts-asset-proxy@^3.7.19": version "3.7.19" resolved "https://registry.yarnpkg.com/@0x/contracts-asset-proxy/-/contracts-asset-proxy-3.7.19.tgz#ee621a233f4d77b439c74c5b8d70db2e1ed001c4" + integrity sha512-6lTgz8JdmceaSnqpJrbyKJXUIyAA2HZrXel+ZWpgMtO7qaSSQDRUcWUBwejTE588BcVxhNFQ7tHvOK3/QGnpHw== dependencies: "@0x/base-contract" "^6.4.0" "@0x/contracts-erc1155" "^2.1.37"