feat: UniswapV3 on Polygon (#382)

This commit is contained in:
Jacob Evans 2021-12-22 07:10:21 +10:00 committed by GitHub
parent 83005d0f3d
commit 813d703d12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 2 deletions

View File

@ -1,4 +1,12 @@
[ [
{
"version": "16.42.0",
"changes": [
{
"note": "`UniswapV3` support for `Polygon`"
}
]
},
{ {
"version": "16.41.0", "version": "16.41.0",
"changes": [ "changes": [

View File

@ -51,7 +51,7 @@ interface IUniswapV3Pool {
contract UniswapV3Sampler contract UniswapV3Sampler
{ {
/// @dev Gas limit for UniswapV3 calls. This is 100% a guess. /// @dev Gas limit for UniswapV3 calls. This is 100% a guess.
uint256 constant private QUOTE_GAS = 300e3; uint256 constant private QUOTE_GAS = 600e3;
/// @dev Sample sell quotes from UniswapV3. /// @dev Sample sell quotes from UniswapV3.
/// @param quoter UniswapV3 Quoter contract. /// @param quoter UniswapV3 Quoter contract.

View File

@ -165,6 +165,7 @@ export const SELL_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>(
ERC20BridgeSource.JetSwap, ERC20BridgeSource.JetSwap,
ERC20BridgeSource.IronSwap, ERC20BridgeSource.IronSwap,
ERC20BridgeSource.AaveV2, ERC20BridgeSource.AaveV2,
ERC20BridgeSource.UniswapV3,
]), ]),
[ChainId.Avalanche]: new SourceFilters([ [ChainId.Avalanche]: new SourceFilters([
ERC20BridgeSource.MultiHop, ERC20BridgeSource.MultiHop,
@ -296,6 +297,7 @@ export const BUY_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>(
ERC20BridgeSource.JetSwap, ERC20BridgeSource.JetSwap,
ERC20BridgeSource.IronSwap, ERC20BridgeSource.IronSwap,
ERC20BridgeSource.AaveV2, ERC20BridgeSource.AaveV2,
ERC20BridgeSource.UniswapV3,
]), ]),
[ChainId.Avalanche]: new SourceFilters([ [ChainId.Avalanche]: new SourceFilters([
ERC20BridgeSource.MultiHop, ERC20BridgeSource.MultiHop,
@ -340,7 +342,7 @@ export const FEE_QUOTE_SOURCES_BY_CHAIN_ID = valueByChainId<ERC20BridgeSource[]>
[ChainId.Mainnet]: [ERC20BridgeSource.UniswapV2, ERC20BridgeSource.SushiSwap, ERC20BridgeSource.UniswapV3], [ChainId.Mainnet]: [ERC20BridgeSource.UniswapV2, ERC20BridgeSource.SushiSwap, ERC20BridgeSource.UniswapV3],
[ChainId.BSC]: [ERC20BridgeSource.PancakeSwap, ERC20BridgeSource.Mooniswap, ERC20BridgeSource.SushiSwap], [ChainId.BSC]: [ERC20BridgeSource.PancakeSwap, ERC20BridgeSource.Mooniswap, ERC20BridgeSource.SushiSwap],
[ChainId.Ropsten]: [ERC20BridgeSource.UniswapV2, ERC20BridgeSource.SushiSwap], [ChainId.Ropsten]: [ERC20BridgeSource.UniswapV2, ERC20BridgeSource.SushiSwap],
[ChainId.Polygon]: [ERC20BridgeSource.QuickSwap, ERC20BridgeSource.SushiSwap], [ChainId.Polygon]: [ERC20BridgeSource.QuickSwap, ERC20BridgeSource.SushiSwap, ERC20BridgeSource.UniswapV3],
[ChainId.Avalanche]: [ERC20BridgeSource.Pangolin, ERC20BridgeSource.TraderJoe, ERC20BridgeSource.SushiSwap], [ChainId.Avalanche]: [ERC20BridgeSource.Pangolin, ERC20BridgeSource.TraderJoe, ERC20BridgeSource.SushiSwap],
[ChainId.Fantom]: [ERC20BridgeSource.SpiritSwap, ERC20BridgeSource.SpookySwap, ERC20BridgeSource.SushiSwap], [ChainId.Fantom]: [ERC20BridgeSource.SpiritSwap, ERC20BridgeSource.SpookySwap, ERC20BridgeSource.SushiSwap],
[ChainId.Celo]: [ERC20BridgeSource.UbeSwap, ERC20BridgeSource.SushiSwap], [ChainId.Celo]: [ERC20BridgeSource.UbeSwap, ERC20BridgeSource.SushiSwap],
@ -1708,6 +1710,10 @@ export const UNISWAPV3_CONFIG_BY_CHAIN_ID = valueByChainId(
quoter: '0x2f9e608fd881861b8916257b76613cb22ee0652c', quoter: '0x2f9e608fd881861b8916257b76613cb22ee0652c',
router: '0x03782388516e94fcd4c18666303601a12aa729ea', router: '0x03782388516e94fcd4c18666303601a12aa729ea',
}, },
[ChainId.Polygon]: {
quoter: '0xb27308f9f90d607463bb33ea1bebb41c27ce5ab6',
router: '0xe592427a0aece92de3edee1f18e0157c05861564',
},
}, },
{ quoter: NULL_ADDRESS, router: NULL_ADDRESS }, { quoter: NULL_ADDRESS, router: NULL_ADDRESS },
); );