Base mainnet (#734)
* Add BaseGoerliBridgeAdapter * Ignore Emacs files * Remove Balancer V1; add Solidly to BaseBridgeAdapter * Update addresses for both Base Mainnet and Goerli * Remove Base Goerli testnet * Prettier, CHANGELOG, and lowercasing addresses --------- Co-authored-by: Savarn Dontamsetti <sav.dontamsetti@gmail.com>
This commit is contained in:
		
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -84,6 +84,9 @@ TODO.md | |||||||
| # IDE file | # IDE file | ||||||
| .vscode | .vscode | ||||||
| .idea | .idea | ||||||
|  | *~ | ||||||
|  | .\#* | ||||||
|  | \#*\# | ||||||
|  |  | ||||||
| # generated contract artifacts/ | # generated contract artifacts/ | ||||||
| generated-artifacts/ | generated-artifacts/ | ||||||
|   | |||||||
| @@ -7,6 +7,9 @@ | |||||||
|             }, |             }, | ||||||
|             { |             { | ||||||
|                 "note": "Remove Shell and MStable support" |                 "note": "Remove Shell and MStable support" | ||||||
|  |             }, | ||||||
|  |             { | ||||||
|  |                 "note": "Add Base Mainnet and Goerli BridgeAdapters" | ||||||
|             } |             } | ||||||
|         ] |         ] | ||||||
|     }, |     }, | ||||||
|   | |||||||
| @@ -115,6 +115,8 @@ | |||||||
|         "./contracts/src/transformers/bridges/ArbitrumBridgeAdapter.sol", |         "./contracts/src/transformers/bridges/ArbitrumBridgeAdapter.sol", | ||||||
|         "./contracts/src/transformers/bridges/AvalancheBridgeAdapter.sol", |         "./contracts/src/transformers/bridges/AvalancheBridgeAdapter.sol", | ||||||
|         "./contracts/src/transformers/bridges/BSCBridgeAdapter.sol", |         "./contracts/src/transformers/bridges/BSCBridgeAdapter.sol", | ||||||
|  |         "./contracts/src/transformers/bridges/BaseBridgeAdapter.sol", | ||||||
|  |         "./contracts/src/transformers/bridges/BaseGoerliBridgeAdapter.sol", | ||||||
|         "./contracts/src/transformers/bridges/BridgeProtocols.sol", |         "./contracts/src/transformers/bridges/BridgeProtocols.sol", | ||||||
|         "./contracts/src/transformers/bridges/CeloBridgeAdapter.sol", |         "./contracts/src/transformers/bridges/CeloBridgeAdapter.sol", | ||||||
|         "./contracts/src/transformers/bridges/EthereumBridgeAdapter.sol", |         "./contracts/src/transformers/bridges/EthereumBridgeAdapter.sol", | ||||||
|   | |||||||
| @@ -0,0 +1,79 @@ | |||||||
|  | // SPDX-License-Identifier: Apache-2.0 | ||||||
|  | /* | ||||||
|  |   Copyright 2023 ZeroEx Intl. | ||||||
|  |   Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |   you may not use this file except in compliance with the License. | ||||||
|  |   You may obtain a copy of the License at | ||||||
|  |     http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |   Unless required by applicable law or agreed to in writing, software | ||||||
|  |   distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |   See the License for the specific language governing permissions and | ||||||
|  |   limitations under the License. | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | pragma solidity ^0.6.5; | ||||||
|  | pragma experimental ABIEncoderV2; | ||||||
|  |  | ||||||
|  | import "./AbstractBridgeAdapter.sol"; | ||||||
|  | import "./BridgeProtocols.sol"; | ||||||
|  | import "./mixins/MixinUniswapV3.sol"; | ||||||
|  | import "./mixins/MixinUniswapV2.sol"; | ||||||
|  | import "./mixins/MixinBalancerV2Batch.sol"; | ||||||
|  | import "./mixins/MixinCurve.sol"; | ||||||
|  | import "./mixins/MixinCurveV2.sol"; | ||||||
|  | import "./mixins/MixinSolidly.sol"; | ||||||
|  |  | ||||||
|  | contract BaseBridgeAdapter is | ||||||
|  |     AbstractBridgeAdapter(8453, "Base"), | ||||||
|  |     MixinUniswapV3, | ||||||
|  |     MixinUniswapV2, | ||||||
|  |     MixinBalancerV2Batch, | ||||||
|  |     MixinCurve, | ||||||
|  |     MixinCurveV2, | ||||||
|  |     MixinSolidly | ||||||
|  | { | ||||||
|  |     constructor(IEtherToken weth) public MixinCurve(weth) {} | ||||||
|  |  | ||||||
|  |     function _trade( | ||||||
|  |         BridgeOrder memory order, | ||||||
|  |         IERC20Token sellToken, | ||||||
|  |         IERC20Token buyToken, | ||||||
|  |         uint256 sellAmount, | ||||||
|  |         bool dryRun | ||||||
|  |     ) internal override returns (uint256 boughtAmount, bool supportedSource) { | ||||||
|  |         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||||
|  |         if (protocolId == BridgeProtocols.CURVE) { | ||||||
|  |             if (dryRun) { | ||||||
|  |                 return (0, true); | ||||||
|  |             } | ||||||
|  |             boughtAmount = _tradeCurve(sellToken, buyToken, sellAmount, order.bridgeData); | ||||||
|  |         } else if (protocolId == BridgeProtocols.CURVEV2) { | ||||||
|  |             if (dryRun) { | ||||||
|  |                 return (0, true); | ||||||
|  |             } | ||||||
|  |             boughtAmount = _tradeCurveV2(sellToken, buyToken, sellAmount, order.bridgeData); | ||||||
|  |         } else if (protocolId == BridgeProtocols.UNISWAPV3) { | ||||||
|  |             if (dryRun) { | ||||||
|  |                 return (0, true); | ||||||
|  |             } | ||||||
|  |             boughtAmount = _tradeUniswapV3(sellToken, sellAmount, order.bridgeData); | ||||||
|  |         } else if (protocolId == BridgeProtocols.UNISWAPV2) { | ||||||
|  |             if (dryRun) { | ||||||
|  |                 return (0, true); | ||||||
|  |             } | ||||||
|  |             boughtAmount = _tradeUniswapV2(buyToken, sellAmount, order.bridgeData); | ||||||
|  |         } else if (protocolId == BridgeProtocols.SOLIDLY) { | ||||||
|  |             if (dryRun) { | ||||||
|  |                 return (0, true); | ||||||
|  |             } | ||||||
|  |             boughtAmount = _tradeSolidly(sellToken, buyToken, sellAmount, order.bridgeData); | ||||||
|  |         } else if (protocolId == BridgeProtocols.BALANCERV2BATCH) { | ||||||
|  |             if (dryRun) { | ||||||
|  |                 return (0, true); | ||||||
|  |             } | ||||||
|  |             boughtAmount = _tradeBalancerV2Batch(sellAmount, order.bridgeData); | ||||||
|  |         } | ||||||
|  |         emit BridgeFill(order.source, sellToken, buyToken, sellAmount, boughtAmount); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -0,0 +1,45 @@ | |||||||
|  | // SPDX-License-Identifier: Apache-2.0 | ||||||
|  | /* | ||||||
|  |   Copyright 2023 ZeroEx Intl. | ||||||
|  |   Licensed under the Apache License, Version 2.0 (the "License"); | ||||||
|  |   you may not use this file except in compliance with the License. | ||||||
|  |   You may obtain a copy of the License at | ||||||
|  |     http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  |   Unless required by applicable law or agreed to in writing, software | ||||||
|  |   distributed under the License is distributed on an "AS IS" BASIS, | ||||||
|  |   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||||
|  |   See the License for the specific language governing permissions and | ||||||
|  |   limitations under the License. | ||||||
|  | */ | ||||||
|  |  | ||||||
|  | pragma solidity ^0.6.5; | ||||||
|  | pragma experimental ABIEncoderV2; | ||||||
|  |  | ||||||
|  | import "./AbstractBridgeAdapter.sol"; | ||||||
|  | import "./BridgeProtocols.sol"; | ||||||
|  | import "./mixins/MixinUniswapV3.sol"; | ||||||
|  | import "./mixins/MixinUniswapV2.sol"; | ||||||
|  |  | ||||||
|  | contract BaseGoerliBridgeAdapter is AbstractBridgeAdapter(84531, "Base Goerli"), MixinUniswapV3, MixinUniswapV2 { | ||||||
|  |     function _trade( | ||||||
|  |         BridgeOrder memory order, | ||||||
|  |         IERC20Token sellToken, | ||||||
|  |         IERC20Token buyToken, | ||||||
|  |         uint256 sellAmount, | ||||||
|  |         bool dryRun | ||||||
|  |     ) internal override returns (uint256 boughtAmount, bool supportedSource) { | ||||||
|  |         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||||
|  |         if (protocolId == BridgeProtocols.UNISWAPV3) { | ||||||
|  |             if (dryRun) { | ||||||
|  |                 return (0, true); | ||||||
|  |             } | ||||||
|  |             boughtAmount = _tradeUniswapV3(sellToken, sellAmount, order.bridgeData); | ||||||
|  |         } else if (protocolId == BridgeProtocols.UNISWAPV2) { | ||||||
|  |             if (dryRun) { | ||||||
|  |                 return (0, true); | ||||||
|  |             } | ||||||
|  |             boughtAmount = _tradeUniswapV2(buyToken, sellAmount, order.bridgeData); | ||||||
|  |         } | ||||||
|  |         emit BridgeFill(order.source, sellToken, buyToken, sellAmount, boughtAmount); | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -36,9 +36,9 @@ | |||||||
|         "typechain": "typechain --target=ethers-v5 --out-dir='typechain-wrappers'  './foundry-artifacts/**/*.json'" |         "typechain": "typechain --target=ethers-v5 --out-dir='typechain-wrappers'  './foundry-artifacts/**/*.json'" | ||||||
|     }, |     }, | ||||||
|     "config": { |     "config": { | ||||||
|         "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IERC20Transformer,IOwnableFeature,ISimpleFunctionRegistryFeature,ITransformERC20Feature,FillQuoteTransformer,PayTakerTransformer,PositiveSlippageFeeTransformer,WethTransformer,OwnableFeature,SimpleFunctionRegistryFeature,TransformERC20Feature,AffiliateFeeTransformer,MetaTransactionsFeature,LogMetadataTransformer,LiquidityProviderFeature,ILiquidityProviderFeature,NativeOrdersFeature,INativeOrdersFeature,FeeCollectorController,FeeCollector,CurveLiquidityProvider,BatchFillNativeOrdersFeature,IBatchFillNativeOrdersFeature,MultiplexFeature,IMultiplexFeature,OtcOrdersFeature,IOtcOrdersFeature,AvalancheBridgeAdapter,BSCBridgeAdapter,CeloBridgeAdapter,EthereumBridgeAdapter,FantomBridgeAdapter,OptimismBridgeAdapter,PolygonBridgeAdapter,MetaTransactionsFeatureV2", |         "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IERC20Transformer,IOwnableFeature,ISimpleFunctionRegistryFeature,ITransformERC20Feature,FillQuoteTransformer,PayTakerTransformer,PositiveSlippageFeeTransformer,WethTransformer,OwnableFeature,SimpleFunctionRegistryFeature,TransformERC20Feature,AffiliateFeeTransformer,MetaTransactionsFeature,LogMetadataTransformer,LiquidityProviderFeature,ILiquidityProviderFeature,NativeOrdersFeature,INativeOrdersFeature,FeeCollectorController,FeeCollector,CurveLiquidityProvider,BatchFillNativeOrdersFeature,IBatchFillNativeOrdersFeature,MultiplexFeature,IMultiplexFeature,OtcOrdersFeature,IOtcOrdersFeature,AvalancheBridgeAdapter,BaseGoerliBridgeAdapter,BaseBridgeAdapter,BSCBridgeAdapter,CeloBridgeAdapter,EthereumBridgeAdapter,FantomBridgeAdapter,OptimismBridgeAdapter,PolygonBridgeAdapter,MetaTransactionsFeatureV2", | ||||||
|         "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.", |         "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.", | ||||||
|         "abis": "./test/generated-artifacts/@(AbstractBridgeAdapter|AffiliateFeeTransformer|ArbitrumBridgeAdapter|AvalancheBridgeAdapter|BSCBridgeAdapter|BatchFillNativeOrdersFeature|BootstrapFeature|BridgeProtocols|CeloBridgeAdapter|CurveLiquidityProvider|ERC1155OrdersFeature|ERC165Feature|ERC721OrdersFeature|EthereumBridgeAdapter|FantomBridgeAdapter|FeeCollector|FeeCollectorController|FillQuoteTransformer|FixinCommon|FixinEIP712|FixinERC1155Spender|FixinERC721Spender|FixinProtocolFees|FixinReentrancyGuard|FixinTokenSpender|FlashWallet|FullMigration|FundRecoveryFeature|IBatchFillNativeOrdersFeature|IBootstrapFeature|IBridgeAdapter|IERC1155OrdersFeature|IERC1155Token|IERC165Feature|IERC20Bridge|IERC20Transformer|IERC721OrdersFeature|IERC721Token|IFeature|IFeeRecipient|IFlashWallet|IFundRecoveryFeature|ILiquidityProvider|ILiquidityProviderFeature|ILiquidityProviderSandbox|IMetaTransactionsFeature|IMetaTransactionsFeatureV2|IMooniswapPool|IMultiplexFeature|INativeOrdersEvents|INativeOrdersFeature|IOtcOrdersFeature|IOwnableFeature|IPancakeSwapFeature|IPropertyValidator|ISimpleFunctionRegistryFeature|IStaking|ITakerCallback|ITestSimpleFunctionRegistryFeature|ITokenSpenderFeature|ITransformERC20Feature|IUniswapFeature|IUniswapV2Pair|IUniswapV3Feature|IUniswapV3Pool|IZeroEx|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC1155OrdersStorage|LibERC20Transformer|LibERC721OrdersStorage|LibFeeCollector|LibLiquidityProviderRichErrors|LibMetaTransactionsRichErrors|LibMetaTransactionsStorage|LibMigrate|LibNFTOrder|LibNFTOrdersRichErrors|LibNativeOrder|LibNativeOrdersRichErrors|LibNativeOrdersStorage|LibOtcOrdersStorage|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibReentrancyGuardStorage|LibSignature|LibSignatureRichErrors|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|LiquidityProviderFeature|LiquidityProviderSandbox|LogMetadataTransformer|MetaTransactionsFeature|MetaTransactionsFeatureV2|MixinAaveV2|MixinBalancer|MixinBalancerV2Batch|MixinBancorV3|MixinCompound|MixinCryptoCom|MixinCurve|MixinCurveV2|MixinDodo|MixinDodoV2|MixinGMX|MixinKyberDmm|MixinLido|MixinMakerPSM|MixinMooniswap|MixinNerve|MixinPlatypus|MixinSolidly|MixinSynthetix|MixinUniswap|MixinUniswapV2|MixinUniswapV3|MixinZeroExBridge|MooniswapLiquidityProvider|MultiplexFeature|MultiplexLiquidityProvider|MultiplexOtc|MultiplexRfq|MultiplexTransformERC20|MultiplexUniswapV2|MultiplexUniswapV3|NFTOrders|NativeOrdersCancellation|NativeOrdersFeature|NativeOrdersInfo|NativeOrdersProtocolFees|NativeOrdersSettlement|OptimismBridgeAdapter|OtcOrdersFeature|OwnableFeature|PancakeSwapFeature|PayTakerTransformer|PermissionlessTransformerDeployer|PolygonBridgeAdapter|PositiveSlippageFeeTransformer|SimpleFunctionRegistryFeature|TestCurve|TestDelegateCaller|TestFeeCollectorController|TestFeeRecipient|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFixinProtocolFees|TestFixinTokenSpender|TestFullMigration|TestInitialMigration|TestLibNativeOrder|TestLibSignature|TestLiquidityProvider|TestMetaTransactionsNativeOrdersFeature|TestMetaTransactionsTransformERC20Feature|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC1155Token|TestMintableERC20Token|TestMintableERC721Token|TestMooniswap|TestNFTOrderPresigner|TestNativeOrdersFeature|TestNoEthRecipient|TestOrderSignerRegistryWithContractWallet|TestPermissionlessTransformerDeployerSuicidal|TestPermissionlessTransformerDeployerTransformer|TestPropertyValidator|TestRfqOriginRegistration|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestStaking|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestUniswapV2Factory|TestUniswapV2Pool|TestUniswapV3Factory|TestUniswapV3Feature|TestUniswapV3Pool|TestWeth|TestWethTransformerHost|TransformERC20Feature|Transformer|TransformerDeployer|UniswapFeature|UniswapV3Feature|WethTransformer|ZeroEx|ZeroExOptimized).json" |         "abis": "./test/generated-artifacts/@(AbstractBridgeAdapter|AffiliateFeeTransformer|ArbitrumBridgeAdapter|AvalancheBridgeAdapter|BSCBridgeAdapter|BaseBridgeAdapter|BaseGoerliBridgeAdapter|BatchFillNativeOrdersFeature|BootstrapFeature|BridgeProtocols|CeloBridgeAdapter|CurveLiquidityProvider|ERC1155OrdersFeature|ERC165Feature|ERC721OrdersFeature|EthereumBridgeAdapter|FantomBridgeAdapter|FeeCollector|FeeCollectorController|FillQuoteTransformer|FixinCommon|FixinEIP712|FixinERC1155Spender|FixinERC721Spender|FixinProtocolFees|FixinReentrancyGuard|FixinTokenSpender|FlashWallet|FullMigration|FundRecoveryFeature|IBatchFillNativeOrdersFeature|IBootstrapFeature|IBridgeAdapter|IERC1155OrdersFeature|IERC1155Token|IERC165Feature|IERC20Bridge|IERC20Transformer|IERC721OrdersFeature|IERC721Token|IFeature|IFeeRecipient|IFlashWallet|IFundRecoveryFeature|ILiquidityProvider|ILiquidityProviderFeature|ILiquidityProviderSandbox|IMetaTransactionsFeature|IMetaTransactionsFeatureV2|IMooniswapPool|IMultiplexFeature|INativeOrdersEvents|INativeOrdersFeature|IOtcOrdersFeature|IOwnableFeature|IPancakeSwapFeature|IPropertyValidator|ISimpleFunctionRegistryFeature|IStaking|ITakerCallback|ITestSimpleFunctionRegistryFeature|ITokenSpenderFeature|ITransformERC20Feature|IUniswapFeature|IUniswapV2Pair|IUniswapV3Feature|IUniswapV3Pool|IZeroEx|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC1155OrdersStorage|LibERC20Transformer|LibERC721OrdersStorage|LibFeeCollector|LibLiquidityProviderRichErrors|LibMetaTransactionsRichErrors|LibMetaTransactionsStorage|LibMigrate|LibNFTOrder|LibNFTOrdersRichErrors|LibNativeOrder|LibNativeOrdersRichErrors|LibNativeOrdersStorage|LibOtcOrdersStorage|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibReentrancyGuardStorage|LibSignature|LibSignatureRichErrors|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|LiquidityProviderFeature|LiquidityProviderSandbox|LogMetadataTransformer|MetaTransactionsFeature|MetaTransactionsFeatureV2|MixinAaveV2|MixinBalancer|MixinBalancerV2Batch|MixinBancorV3|MixinCompound|MixinCryptoCom|MixinCurve|MixinCurveV2|MixinDodo|MixinDodoV2|MixinGMX|MixinKyberDmm|MixinLido|MixinMakerPSM|MixinMooniswap|MixinNerve|MixinPlatypus|MixinSolidly|MixinSynthetix|MixinUniswap|MixinUniswapV2|MixinUniswapV3|MixinZeroExBridge|MooniswapLiquidityProvider|MultiplexFeature|MultiplexLiquidityProvider|MultiplexOtc|MultiplexRfq|MultiplexTransformERC20|MultiplexUniswapV2|MultiplexUniswapV3|NFTOrders|NativeOrdersCancellation|NativeOrdersFeature|NativeOrdersInfo|NativeOrdersProtocolFees|NativeOrdersSettlement|OptimismBridgeAdapter|OtcOrdersFeature|OwnableFeature|PancakeSwapFeature|PayTakerTransformer|PermissionlessTransformerDeployer|PolygonBridgeAdapter|PositiveSlippageFeeTransformer|SimpleFunctionRegistryFeature|TestCurve|TestDelegateCaller|TestFeeCollectorController|TestFeeRecipient|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFixinProtocolFees|TestFixinTokenSpender|TestFullMigration|TestInitialMigration|TestLibNativeOrder|TestLibSignature|TestLiquidityProvider|TestMetaTransactionsNativeOrdersFeature|TestMetaTransactionsTransformERC20Feature|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC1155Token|TestMintableERC20Token|TestMintableERC721Token|TestMooniswap|TestNFTOrderPresigner|TestNativeOrdersFeature|TestNoEthRecipient|TestOrderSignerRegistryWithContractWallet|TestPermissionlessTransformerDeployerSuicidal|TestPermissionlessTransformerDeployerTransformer|TestPropertyValidator|TestRfqOriginRegistration|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestStaking|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestUniswapV2Factory|TestUniswapV2Pool|TestUniswapV3Factory|TestUniswapV3Feature|TestUniswapV3Pool|TestWeth|TestWethTransformerHost|TransformERC20Feature|Transformer|TransformerDeployer|UniswapFeature|UniswapV3Feature|WethTransformer|ZeroEx|ZeroExOptimized).json" | ||||||
|     }, |     }, | ||||||
|     "repository": { |     "repository": { | ||||||
|         "type": "git", |         "type": "git", | ||||||
|   | |||||||
| @@ -7,6 +7,8 @@ import { ContractArtifact } from 'ethereum-types'; | |||||||
|  |  | ||||||
| import * as AffiliateFeeTransformer from '../generated-artifacts/AffiliateFeeTransformer.json'; | import * as AffiliateFeeTransformer from '../generated-artifacts/AffiliateFeeTransformer.json'; | ||||||
| import * as AvalancheBridgeAdapter from '../generated-artifacts/AvalancheBridgeAdapter.json'; | import * as AvalancheBridgeAdapter from '../generated-artifacts/AvalancheBridgeAdapter.json'; | ||||||
|  | import * as BaseBridgeAdapter from '../generated-artifacts/BaseBridgeAdapter.json'; | ||||||
|  | import * as BaseGoerliBridgeAdapter from '../generated-artifacts/BaseGoerliBridgeAdapter.json'; | ||||||
| import * as BatchFillNativeOrdersFeature from '../generated-artifacts/BatchFillNativeOrdersFeature.json'; | import * as BatchFillNativeOrdersFeature from '../generated-artifacts/BatchFillNativeOrdersFeature.json'; | ||||||
| import * as BSCBridgeAdapter from '../generated-artifacts/BSCBridgeAdapter.json'; | import * as BSCBridgeAdapter from '../generated-artifacts/BSCBridgeAdapter.json'; | ||||||
| import * as CeloBridgeAdapter from '../generated-artifacts/CeloBridgeAdapter.json'; | import * as CeloBridgeAdapter from '../generated-artifacts/CeloBridgeAdapter.json'; | ||||||
| @@ -79,6 +81,8 @@ export const artifacts = { | |||||||
|     OtcOrdersFeature: OtcOrdersFeature as ContractArtifact, |     OtcOrdersFeature: OtcOrdersFeature as ContractArtifact, | ||||||
|     IOtcOrdersFeature: IOtcOrdersFeature as ContractArtifact, |     IOtcOrdersFeature: IOtcOrdersFeature as ContractArtifact, | ||||||
|     AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, |     AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, | ||||||
|  |     BaseGoerliBridgeAdapter: BaseGoerliBridgeAdapter as ContractArtifact, | ||||||
|  |     BaseBridgeAdapter: BaseBridgeAdapter as ContractArtifact, | ||||||
|     BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, |     BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, | ||||||
|     CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, |     CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, | ||||||
|     EthereumBridgeAdapter: EthereumBridgeAdapter as ContractArtifact, |     EthereumBridgeAdapter: EthereumBridgeAdapter as ContractArtifact, | ||||||
|   | |||||||
| @@ -6,6 +6,8 @@ | |||||||
| export * from '../generated-wrappers/affiliate_fee_transformer'; | export * from '../generated-wrappers/affiliate_fee_transformer'; | ||||||
| export * from '../generated-wrappers/avalanche_bridge_adapter'; | export * from '../generated-wrappers/avalanche_bridge_adapter'; | ||||||
| export * from '../generated-wrappers/b_s_c_bridge_adapter'; | export * from '../generated-wrappers/b_s_c_bridge_adapter'; | ||||||
|  | export * from '../generated-wrappers/base_bridge_adapter'; | ||||||
|  | export * from '../generated-wrappers/base_goerli_bridge_adapter'; | ||||||
| export * from '../generated-wrappers/batch_fill_native_orders_feature'; | export * from '../generated-wrappers/batch_fill_native_orders_feature'; | ||||||
| export * from '../generated-wrappers/celo_bridge_adapter'; | export * from '../generated-wrappers/celo_bridge_adapter'; | ||||||
| export * from '../generated-wrappers/curve_liquidity_provider'; | export * from '../generated-wrappers/curve_liquidity_provider'; | ||||||
|   | |||||||
| @@ -9,6 +9,8 @@ import * as AbstractBridgeAdapter from '../test/generated-artifacts/AbstractBrid | |||||||
| import * as AffiliateFeeTransformer from '../test/generated-artifacts/AffiliateFeeTransformer.json'; | import * as AffiliateFeeTransformer from '../test/generated-artifacts/AffiliateFeeTransformer.json'; | ||||||
| import * as ArbitrumBridgeAdapter from '../test/generated-artifacts/ArbitrumBridgeAdapter.json'; | import * as ArbitrumBridgeAdapter from '../test/generated-artifacts/ArbitrumBridgeAdapter.json'; | ||||||
| import * as AvalancheBridgeAdapter from '../test/generated-artifacts/AvalancheBridgeAdapter.json'; | import * as AvalancheBridgeAdapter from '../test/generated-artifacts/AvalancheBridgeAdapter.json'; | ||||||
|  | import * as BaseBridgeAdapter from '../test/generated-artifacts/BaseBridgeAdapter.json'; | ||||||
|  | import * as BaseGoerliBridgeAdapter from '../test/generated-artifacts/BaseGoerliBridgeAdapter.json'; | ||||||
| import * as BatchFillNativeOrdersFeature from '../test/generated-artifacts/BatchFillNativeOrdersFeature.json'; | import * as BatchFillNativeOrdersFeature from '../test/generated-artifacts/BatchFillNativeOrdersFeature.json'; | ||||||
| import * as BootstrapFeature from '../test/generated-artifacts/BootstrapFeature.json'; | import * as BootstrapFeature from '../test/generated-artifacts/BootstrapFeature.json'; | ||||||
| import * as BridgeProtocols from '../test/generated-artifacts/BridgeProtocols.json'; | import * as BridgeProtocols from '../test/generated-artifacts/BridgeProtocols.json'; | ||||||
| @@ -318,6 +320,8 @@ export const artifacts = { | |||||||
|     AbstractBridgeAdapter: AbstractBridgeAdapter as ContractArtifact, |     AbstractBridgeAdapter: AbstractBridgeAdapter as ContractArtifact, | ||||||
|     ArbitrumBridgeAdapter: ArbitrumBridgeAdapter as ContractArtifact, |     ArbitrumBridgeAdapter: ArbitrumBridgeAdapter as ContractArtifact, | ||||||
|     AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, |     AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, | ||||||
|  |     BaseBridgeAdapter: BaseBridgeAdapter as ContractArtifact, | ||||||
|  |     BaseGoerliBridgeAdapter: BaseGoerliBridgeAdapter as ContractArtifact, | ||||||
|     BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, |     BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, | ||||||
|     BridgeProtocols: BridgeProtocols as ContractArtifact, |     BridgeProtocols: BridgeProtocols as ContractArtifact, | ||||||
|     CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, |     CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, | ||||||
|   | |||||||
| @@ -8,6 +8,8 @@ export * from '../test/generated-wrappers/affiliate_fee_transformer'; | |||||||
| export * from '../test/generated-wrappers/arbitrum_bridge_adapter'; | export * from '../test/generated-wrappers/arbitrum_bridge_adapter'; | ||||||
| export * from '../test/generated-wrappers/avalanche_bridge_adapter'; | export * from '../test/generated-wrappers/avalanche_bridge_adapter'; | ||||||
| export * from '../test/generated-wrappers/b_s_c_bridge_adapter'; | export * from '../test/generated-wrappers/b_s_c_bridge_adapter'; | ||||||
|  | export * from '../test/generated-wrappers/base_bridge_adapter'; | ||||||
|  | export * from '../test/generated-wrappers/base_goerli_bridge_adapter'; | ||||||
| export * from '../test/generated-wrappers/batch_fill_native_orders_feature'; | export * from '../test/generated-wrappers/batch_fill_native_orders_feature'; | ||||||
| export * from '../test/generated-wrappers/bootstrap_feature'; | export * from '../test/generated-wrappers/bootstrap_feature'; | ||||||
| export * from '../test/generated-wrappers/bridge_protocols'; | export * from '../test/generated-wrappers/bridge_protocols'; | ||||||
|   | |||||||
| @@ -6,6 +6,8 @@ | |||||||
|         "generated-artifacts/AffiliateFeeTransformer.json", |         "generated-artifacts/AffiliateFeeTransformer.json", | ||||||
|         "generated-artifacts/AvalancheBridgeAdapter.json", |         "generated-artifacts/AvalancheBridgeAdapter.json", | ||||||
|         "generated-artifacts/BSCBridgeAdapter.json", |         "generated-artifacts/BSCBridgeAdapter.json", | ||||||
|  |         "generated-artifacts/BaseBridgeAdapter.json", | ||||||
|  |         "generated-artifacts/BaseGoerliBridgeAdapter.json", | ||||||
|         "generated-artifacts/BatchFillNativeOrdersFeature.json", |         "generated-artifacts/BatchFillNativeOrdersFeature.json", | ||||||
|         "generated-artifacts/CeloBridgeAdapter.json", |         "generated-artifacts/CeloBridgeAdapter.json", | ||||||
|         "generated-artifacts/CurveLiquidityProvider.json", |         "generated-artifacts/CurveLiquidityProvider.json", | ||||||
| @@ -48,6 +50,8 @@ | |||||||
|         "test/generated-artifacts/ArbitrumBridgeAdapter.json", |         "test/generated-artifacts/ArbitrumBridgeAdapter.json", | ||||||
|         "test/generated-artifacts/AvalancheBridgeAdapter.json", |         "test/generated-artifacts/AvalancheBridgeAdapter.json", | ||||||
|         "test/generated-artifacts/BSCBridgeAdapter.json", |         "test/generated-artifacts/BSCBridgeAdapter.json", | ||||||
|  |         "test/generated-artifacts/BaseBridgeAdapter.json", | ||||||
|  |         "test/generated-artifacts/BaseGoerliBridgeAdapter.json", | ||||||
|         "test/generated-artifacts/BatchFillNativeOrdersFeature.json", |         "test/generated-artifacts/BatchFillNativeOrdersFeature.json", | ||||||
|         "test/generated-artifacts/BootstrapFeature.json", |         "test/generated-artifacts/BootstrapFeature.json", | ||||||
|         "test/generated-artifacts/BridgeProtocols.json", |         "test/generated-artifacts/BridgeProtocols.json", | ||||||
|   | |||||||
| @@ -1,4 +1,12 @@ | |||||||
| [ | [ | ||||||
|  | 	{ | ||||||
|  | 		"version": "8.8.0", | ||||||
|  | 		"changes": [ | ||||||
|  | 			{ | ||||||
|  | 				"note": "Add Base mainnet addresses" | ||||||
|  | 			} | ||||||
|  | 		] | ||||||
|  | 	} | ||||||
| 	{ | 	{ | ||||||
| 		"version": "8.7.0", | 		"version": "8.7.0", | ||||||
| 		"changes": [ | 		"changes": [ | ||||||
|   | |||||||
| @@ -251,5 +251,28 @@ | |||||||
|             "fillQuoteTransformer": "0x4a8815c2fc605e3b01aee52aade4d096c4e862c6", |             "fillQuoteTransformer": "0x4a8815c2fc605e3b01aee52aade4d096c4e862c6", | ||||||
|             "positiveSlippageFeeTransformer": "0x20f935b037e8490d8027f2751f9452725eee01ad" |             "positiveSlippageFeeTransformer": "0x20f935b037e8490d8027f2751f9452725eee01ad" | ||||||
|         } |         } | ||||||
|  |     }, | ||||||
|  |     "8453": { | ||||||
|  |         "zrxToken": "0x0000000000000000000000000000000000000000", | ||||||
|  |         "etherToken": "0x4200000000000000000000000000000000000006", | ||||||
|  |         "zeroExGovernor": "0xecc4f2a8e0fd933623b2ea4ad84bffd12cb1286c", | ||||||
|  |         "zrxVault": "0x0000000000000000000000000000000000000000", | ||||||
|  |         "staking": "0x0000000000000000000000000000000000000000", | ||||||
|  |         "stakingProxy": "0x0000000000000000000000000000000000000000", | ||||||
|  |         "erc20BridgeProxy": "0x0000000000000000000000000000000000000000", | ||||||
|  |         "erc20BridgeSampler": "0x0000000000000000000000000000000000000000", | ||||||
|  |         "exchangeProxyGovernor": "0xecc4f2a8e0fd933623b2ea4ad84bffd12cb1286c", | ||||||
|  |         "exchangeProxy": "0xdef1c0ded9bec7f1a1670819833240f027b25eff", | ||||||
|  |         "exchangeProxyTransformerDeployer": "0x58bca53ebba1aaf25f0edcd8dad6421872fe20b2", | ||||||
|  |         "exchangeProxyFlashWallet": "0xdb6f1920a889355780af7570773609bd8cb1f498", | ||||||
|  |         "exchangeProxyLiquidityProviderSandbox": "0x0000000000000000000000000000000000000000", | ||||||
|  |         "zrxTreasury": "0x0000000000000000000000000000000000000000", | ||||||
|  |         "transformers": { | ||||||
|  |             "wethTransformer": "0x63186ea36e78ecbf0128e448362f1b81e9bf7412", | ||||||
|  |             "payTakerTransformer": "0x5cc22a0e06ea11097c612a962e63674b90e96099", | ||||||
|  |             "affiliateFeeTransformer": "0x9e52d8b32d835206d09810c310593bcc77264066", | ||||||
|  |             "fillQuoteTransformer": "0x44e0f3975e95387f3866dd7cab1f51050394a3d1", | ||||||
|  |             "positiveSlippageFeeTransformer": "0xf98a130d3b4029c70e6d93098cb82a003421341e" | ||||||
|  |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|   | |||||||
| @@ -36,6 +36,7 @@ export enum ChainId { | |||||||
|     Celo = 42220, |     Celo = 42220, | ||||||
|     Optimism = 10, |     Optimism = 10, | ||||||
|     Arbitrum = 42161, |     Arbitrum = 42161, | ||||||
|  |     Base = 8453, | ||||||
| } | } | ||||||
|  |  | ||||||
| /** | /** | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user