Compare commits

...

7 Commits

Author SHA1 Message Date
Noah Khamliche
f743fde601 Merge branch 'development' into Initial-Arbitrum 2022-02-22 17:38:56 -05:00
Noah Khamliche
5706f48056 Merge branch 'development' into Initial-Arbitrum 2022-02-22 17:28:03 -05:00
Noah Khamliche
8eb291b3e0 fixed uniswapv3 config 2022-02-09 17:26:57 -05:00
Noah Khamliche
babe8e7290 updated changelog 2022-02-08 23:27:42 -05:00
Noah Khamliche
f1cf14ddfe arb addresses 2022-02-08 23:23:14 -05:00
Noah Khamliche
b67715cd2c arbitrum please stop 2022-02-08 23:23:04 -05:00
Noah Khamliche
81d6d5760d added arbitrum protocol contracts and updated chainId, bumped changelog 2022-02-08 20:09:19 -05:00
5 changed files with 122 additions and 1 deletions

View File

@@ -1,4 +1,12 @@
[
{
"version": "16.50.0",
"changes": [
{
"note": "0x protocol on Arbitrum"
}
]
},
{
"timestamp": 1645569128,
"version": "16.49.8",

View File

@@ -62,6 +62,7 @@ function valueByChainId<T>(rest: Partial<{ [key in ChainId]: T }>, defaultValue:
[ChainId.Fantom]: defaultValue,
[ChainId.Celo]: defaultValue,
[ChainId.Optimism]: defaultValue,
[ChainId.Arbitrum]: defaultValue,
...(rest || {}),
};
}
@@ -206,6 +207,12 @@ export const SELL_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>(
ERC20BridgeSource.CurveV2,
ERC20BridgeSource.MultiHop,
]),
[ChainId.Arbitrum]: new SourceFilters([
ERC20BridgeSource.UniswapV3,
ERC20BridgeSource.SushiSwap,
ERC20BridgeSource.Synapse,
ERC20BridgeSource.MultiHop,
]),
},
new SourceFilters([]),
);
@@ -350,6 +357,12 @@ export const BUY_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>(
ERC20BridgeSource.CurveV2,
ERC20BridgeSource.MultiHop,
]),
[ChainId.Arbitrum]: new SourceFilters([
ERC20BridgeSource.UniswapV3,
ERC20BridgeSource.SushiSwap,
ERC20BridgeSource.Synapse,
ERC20BridgeSource.MultiHop,
]),
},
new SourceFilters([]),
);
@@ -372,6 +385,7 @@ export const FEE_QUOTE_SOURCES_BY_CHAIN_ID = valueByChainId<ERC20BridgeSource[]>
[ChainId.Fantom]: [ERC20BridgeSource.SpiritSwap, ERC20BridgeSource.SpookySwap, ERC20BridgeSource.SushiSwap],
[ChainId.Celo]: [ERC20BridgeSource.UbeSwap, ERC20BridgeSource.SushiSwap],
[ChainId.Optimism]: [ERC20BridgeSource.UniswapV3],
[ChainId.Arbitrum]: [ERC20BridgeSource.UniswapV3, ERC20BridgeSource.SushiSwap],
},
[],
);
@@ -598,6 +612,17 @@ export const OPTIMISM_TOKENS = {
sWETH: '0x121ab82b49b2bc4c7901ca46b8277962b4350204',
};
export const ARBITRUM_TOKENS = {
WETH: '0x82af49447d8a07e3bd95bd0d56f35241523fbab1',
USDC: '0xff970a61a04b1ca14834a43f5de4533ebddb5cc8',
DAI: '0xda10009cbd5d07dd0cecc66161fc93d7c9000da1',
USDT: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9',
WBTC: '0x2f2a2543b76a4166549f7aab2e75bef0aefc5b0f',
renBTC: '0xdbf31df14b66535af65aac99c32e9ea844e14501',
nETH: '0x3ea9b0ab55f34fb188824ee288ceaefc63cf908e',
nUSD: '0x2913e812cf0dcca30fb28e6cac3d2dcff4497688',
};
export const CURVE_POOLS = {
compound: '0xa2b47e3d5c44877cca798226b7b8118f9bfb7a56', // 0.Compound
// 1.USDT is dead
@@ -757,7 +782,7 @@ export const SYNAPSE_AVALANCHE_POOLS = {
};
export const SYNAPSE_ARBITRUM_POOLS = {
nUSDLP: '0x0db3fe3b770c95a0b99d1ed6f2627933466c0dd8',
nUSDLP: '0xadeac0343c2ac62dfe5a5f51e896aefff5ab513e',
nETHLP: '0xd70a52248e546a3b260849386410c7170c7bd1e9',
};
@@ -848,6 +873,13 @@ export const DEFAULT_INTERMEDIATE_TOKENS_BY_CHAIN_ID = valueByChainId<string[]>(
OPTIMISM_TOKENS.nETH,
OPTIMISM_TOKENS.sWETH,
],
[ChainId.Arbitrum]: [
ARBITRUM_TOKENS.WETH,
ARBITRUM_TOKENS.DAI,
ARBITRUM_TOKENS.USDC,
ARBITRUM_TOKENS.USDT,
ARBITRUM_TOKENS.WBTC,
],
},
[],
);
@@ -901,6 +933,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(),
);
@@ -918,6 +953,7 @@ export const NATIVE_FEE_TOKEN_BY_CHAIN_ID = valueByChainId<string>(
[ChainId.Fantom]: getContractAddressesForChainOrThrow(ChainId.Fantom).etherToken,
[ChainId.Celo]: getContractAddressesForChainOrThrow(ChainId.Celo).etherToken,
[ChainId.Optimism]: getContractAddressesForChainOrThrow(ChainId.Optimism).etherToken,
[ChainId.Arbitrum]: getContractAddressesForChainOrThrow(ChainId.Arbitrum).etherToken,
},
NULL_ADDRESS,
);
@@ -1641,6 +1677,27 @@ export const SYNAPSE_AVALANCHE_INFOS: { [name: string]: CurveInfo } = {
},
};
export const SYNAPSE_ARBITRUM_INFOS: { [name: string]: CurveInfo } = {
[SYNAPSE_ARBITRUM_POOLS.nETHLP]: {
exchangeFunctionSelector: CurveFunctionSelectors.swap,
sellQuoteFunctionSelector: CurveFunctionSelectors.calculateSwap,
buyQuoteFunctionSelector: CurveFunctionSelectors.None,
poolAddress: SYNAPSE_ARBITRUM_POOLS.nETHLP,
tokens: [ARBITRUM_TOKENS.nETH, ARBITRUM_TOKENS.WETH],
metaTokens: undefined,
gasSchedule: 140e3,
},
[SYNAPSE_ARBITRUM_POOLS.nUSDLP]: {
exchangeFunctionSelector: CurveFunctionSelectors.swap,
sellQuoteFunctionSelector: CurveFunctionSelectors.calculateSwap,
buyQuoteFunctionSelector: CurveFunctionSelectors.None,
poolAddress: SYNAPSE_ARBITRUM_POOLS.nUSDLP,
tokens: [ARBITRUM_TOKENS.USDC, ARBITRUM_TOKENS.USDT, ARBITRUM_TOKENS.nUSD],
metaTokens: undefined,
gasSchedule: 140e3,
},
};
export const FIREBIRDONESWAP_BSC_INFOS: { [name: string]: CurveInfo } = {
[FIREBIRDONESWAP_BSC_POOLS.oneswap]: {
exchangeFunctionSelector: CurveFunctionSelectors.swap,
@@ -1783,6 +1840,7 @@ export const SUSHISWAP_ROUTER_BY_CHAIN_ID = valueByChainId<string>(
[ChainId.Avalanche]: '0x1b02da8cb0d097eb8d57a175b88c7d8b47997506',
[ChainId.Fantom]: '0x1b02da8cb0d097eb8d57a175b88c7d8b47997506',
[ChainId.Celo]: '0x1421bde4b10e8dd459b3bcb598810b1337d56842',
[ChainId.Arbitrum]: '0x1b02da8cb0d097eb8d57a175b88c7d8b47997506',
},
NULL_ADDRESS,
);
@@ -2060,6 +2118,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 Arbitrum protocol contracts and ChainId"
}
]
},
{
"version": "6.11.0",
"changes": [

View File

@@ -502,5 +502,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

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