arbitrum asset swapper

This commit is contained in:
Noah Khamliche
2021-12-27 12:40:01 -05:00
parent 5d3c7f9831
commit c5d73dfe1b
8 changed files with 103 additions and 4 deletions

Binary file not shown.

View File

@@ -1,4 +1,12 @@
[
{
"version": "16.50.0",
"changes": [
{
"note": "Add support for Arbitrum one mainnet".
}
]
},
{
"version": "16.49.3",
"changes": [

View File

@@ -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",

View File

@@ -62,6 +62,7 @@ function valueByChainId<T>(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<SourceFilters>(
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<SourceFilters>(
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<ERC20BridgeSource[]>
[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<string[]>(
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<TokenAdj
[ChainId.Optimism]: new TokenAdjacencyGraphBuilder({
default: DEFAULT_INTERMEDIATE_TOKENS_BY_CHAIN_ID[ChainId.Optimism],
}).build(),
[ChainId.Arbitrum]: new TokenAdjacencyGraphBuilder({
default: DEFAULT_INTERMEDIATE_TOKENS_BY_CHAIN_ID[ChainId.Arbitrum],
}).build(),
},
new TokenAdjacencyGraphBuilder({ default: [] }).build(),
);
@@ -977,7 +1003,11 @@ export const NATIVE_FEE_TOKEN_BY_CHAIN_ID = valueByChainId<string>(
>>>>>>> 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<string>(
>>>>>>> 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 },
);

View File

@@ -1,4 +1,12 @@
[
{
"version": "6.12.0",
"changes": [
{
"note": "Add Support for Arbitrum One Mainnet"
}
]
},
{
"version": "6.11.0",
"changes": [

View File

@@ -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"
}
}
}

View File

@@ -57,6 +57,7 @@ export enum ChainId {
Arbitrum = 42161,
Celo = 42220,
Optimism = 10,
Arbitrum = 42161,
}
/**

View File

@@ -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"