Compare commits
	
		
			2 Commits
		
	
	
		
			@0x/contra
			...
			poc/bridge
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 996dd0c487 | ||
|  | a380bdb843 | 
| @@ -0,0 +1,126 @@ | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
|  | ||||
|   Copyright 2022 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 "./IBridgeAdapter.sol"; | ||||
| import "./BridgeProtocols.sol"; | ||||
| import "./mixins/MixinCurve.sol"; | ||||
| import "./mixins/MixinCurveV2.sol"; | ||||
| import "./mixins/MixinGMX.sol"; | ||||
| import "./mixins/MixinKyberDmm.sol"; | ||||
| import "./mixins/MixinNerve.sol"; | ||||
| import "./mixins/MixinPlatypus.sol"; | ||||
| import "./mixins/MixinUniswapV2.sol"; | ||||
| import "./mixins/MixinZeroExBridge.sol"; | ||||
|  | ||||
| contract AvalancheBridgeAdapter is | ||||
|     IBridgeAdapter, | ||||
|     MixinCurve, | ||||
|     MixinCurveV2, | ||||
|     MixinGMX, | ||||
|     MixinKyberDmm, | ||||
|     MixinNerve, | ||||
|     MixinPlatypus, | ||||
|     MixinUniswapV2, | ||||
|     MixinZeroExBridge | ||||
| { | ||||
|     constructor(IEtherTokenV06 weth) | ||||
|         public | ||||
|         MixinCurve(weth) | ||||
|     { | ||||
|         uint256 chainId; | ||||
|         assembly { chainId := chainid() } | ||||
|         require(chainId == 43114, 'AvalancheBridgeAdapter.constructor: wrong chain ID'); | ||||
|     } | ||||
|  | ||||
|     function trade( | ||||
|         BridgeOrder memory order, | ||||
|         IERC20TokenV06 sellToken, | ||||
|         IERC20TokenV06 buyToken, | ||||
|         uint256 sellAmount | ||||
|     ) | ||||
|         public | ||||
|         override | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||
|         if (protocolId == BridgeProtocols.CURVE) { | ||||
|             boughtAmount = _tradeCurve( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.CURVEV2) { | ||||
|             boughtAmount = _tradeCurveV2( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.UNISWAPV2) { | ||||
|             boughtAmount = _tradeUniswapV2( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.NERVE) { | ||||
|             boughtAmount = _tradeNerve( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.KYBERDMM) { | ||||
|             boughtAmount = _tradeKyberDmm( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.GMX) { | ||||
|             boughtAmount = _tradeGMX( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.PLATYPUS) { | ||||
|             boughtAmount = _tradePlatypus( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else { | ||||
|             boughtAmount = _tradeZeroExBridge( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         emit BridgeFill( | ||||
|             order.source, | ||||
|             sellToken, | ||||
|             buyToken, | ||||
|             sellAmount, | ||||
|             boughtAmount | ||||
|         ); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,127 @@ | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
|  | ||||
|   Copyright 2022 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 "./IBridgeAdapter.sol"; | ||||
| import "./BridgeProtocols.sol"; | ||||
| import "./mixins/MixinCurve.sol"; | ||||
| import "./mixins/MixinDodo.sol"; | ||||
| import "./mixins/MixinDodoV2.sol"; | ||||
| import "./mixins/MixinKyberDmm.sol"; | ||||
| import "./mixins/MixinMooniswap.sol"; | ||||
| import "./mixins/MixinNerve.sol"; | ||||
| import "./mixins/MixinUniswapV2.sol"; | ||||
| import "./mixins/MixinZeroExBridge.sol"; | ||||
|  | ||||
| contract BSCBridgeAdapter is | ||||
|     IBridgeAdapter, | ||||
|     MixinCurve, | ||||
|     MixinDodo, | ||||
|     MixinDodoV2, | ||||
|     MixinKyberDmm, | ||||
|     MixinMooniswap, | ||||
|     MixinNerve, | ||||
|     MixinUniswapV2, | ||||
|     MixinZeroExBridge | ||||
| { | ||||
|     constructor(IEtherTokenV06 weth) | ||||
|         public | ||||
|         MixinCurve(weth) | ||||
|         MixinMooniswap(weth) | ||||
|     { | ||||
|         uint256 chainId; | ||||
|         assembly { chainId := chainid() } | ||||
|         require(chainId == 56, 'BSCBridgeAdapter.constructor: wrong chain ID'); | ||||
|     } | ||||
|  | ||||
|     function trade( | ||||
|         BridgeOrder memory order, | ||||
|         IERC20TokenV06 sellToken, | ||||
|         IERC20TokenV06 buyToken, | ||||
|         uint256 sellAmount | ||||
|     ) | ||||
|         public | ||||
|         override | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||
|         if (protocolId == BridgeProtocols.CURVE) { | ||||
|             boughtAmount = _tradeCurve( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.UNISWAPV2) { | ||||
|             boughtAmount = _tradeUniswapV2( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.MOONISWAP) { | ||||
|             boughtAmount = _tradeMooniswap( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.DODO) { | ||||
|             boughtAmount = _tradeDodo( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.DODOV2) { | ||||
|             boughtAmount = _tradeDodoV2( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.NERVE) { | ||||
|             boughtAmount = _tradeNerve( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.KYBERDMM) { | ||||
|             boughtAmount = _tradeKyberDmm( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else { | ||||
|             boughtAmount = _tradeZeroExBridge( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         emit BridgeFill( | ||||
|             order.source, | ||||
|             sellToken, | ||||
|             buyToken, | ||||
|             sellAmount, | ||||
|             boughtAmount | ||||
|         ); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,84 @@ | ||||
|  | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
|  | ||||
|   Copyright 2022 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 "./IBridgeAdapter.sol"; | ||||
| import "./BridgeProtocols.sol"; | ||||
| import "./mixins/MixinNerve.sol"; | ||||
| import "./mixins/MixinUniswapV2.sol"; | ||||
| import "./mixins/MixinZeroExBridge.sol"; | ||||
|  | ||||
| contract CeloBridgeAdapter is | ||||
|     IBridgeAdapter, | ||||
|     MixinNerve, | ||||
|     MixinUniswapV2, | ||||
|     MixinZeroExBridge | ||||
| { | ||||
|     constructor(address _weth) | ||||
|         public | ||||
|     { | ||||
|         uint256 chainId; | ||||
|         assembly { chainId := chainid() } | ||||
|         require(chainId == 42220, 'CeloBridgeAdapter.constructor: wrong chain ID'); | ||||
|     } | ||||
|  | ||||
|     function trade( | ||||
|         BridgeOrder memory order, | ||||
|         IERC20TokenV06 sellToken, | ||||
|         IERC20TokenV06 buyToken, | ||||
|         uint256 sellAmount | ||||
|     ) | ||||
|         public | ||||
|         override | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||
|         if (protocolId == BridgeProtocols.UNISWAPV2) { | ||||
|             boughtAmount = _tradeUniswapV2( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.NERVE) { | ||||
|             boughtAmount = _tradeNerve( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else { | ||||
|             boughtAmount = _tradeZeroExBridge( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         emit BridgeFill( | ||||
|             order.source, | ||||
|             sellToken, | ||||
|             buyToken, | ||||
|             sellAmount, | ||||
|             boughtAmount | ||||
|         ); | ||||
|     } | ||||
| } | ||||
| @@ -1,7 +1,7 @@ | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
| 
 | ||||
|   Copyright 2021 ZeroEx Intl. | ||||
|   Copyright 2022 ZeroEx Intl. | ||||
| 
 | ||||
|   Licensed under the Apache License, Version 2.0 (the "License"); | ||||
|   you may not use this file except in compliance with the License. | ||||
| @@ -20,85 +20,57 @@ | ||||
| pragma solidity ^0.6.5; | ||||
| pragma experimental ABIEncoderV2; | ||||
| 
 | ||||
| import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol"; | ||||
| import "./IBridgeAdapter.sol"; | ||||
| import "./BridgeProtocols.sol"; | ||||
| import "./mixins/MixinAaveV2.sol"; | ||||
| import "./mixins/MixinBalancer.sol"; | ||||
| import "./mixins/MixinBalancerV2.sol"; | ||||
| import "./mixins/MixinBalancerV2Batch.sol"; | ||||
| import "./mixins/MixinBancor.sol"; | ||||
| import "./mixins/MixinCompound.sol"; | ||||
| import "./mixins/MixinCurve.sol"; | ||||
| import "./mixins/MixinCurveV2.sol"; | ||||
| import "./mixins/MixinCryptoCom.sol"; | ||||
| import "./mixins/MixinDodo.sol"; | ||||
| import "./mixins/MixinDodoV2.sol"; | ||||
| import "./mixins/MixinGMX.sol"; | ||||
| import "./mixins/MixinKyberDmm.sol"; | ||||
| import "./mixins/MixinLido.sol"; | ||||
| import "./mixins/MixinMakerPSM.sol"; | ||||
| import "./mixins/MixinMooniswap.sol"; | ||||
| import "./mixins/MixinMStable.sol"; | ||||
| import "./mixins/MixinNerve.sol"; | ||||
| import "./mixins/MixinPlatypus.sol"; | ||||
| import "./mixins/MixinShell.sol"; | ||||
| import "./mixins/MixinUniswap.sol"; | ||||
| import "./mixins/MixinUniswapV2.sol"; | ||||
| import "./mixins/MixinUniswapV3.sol"; | ||||
| import "./mixins/MixinZeroExBridge.sol"; | ||||
| import "./EthereumSubAdapter1.sol"; | ||||
| 
 | ||||
| contract BridgeAdapter is | ||||
| contract EthereumBridgeAdapter is | ||||
|     IBridgeAdapter, | ||||
|     MixinAaveV2, | ||||
|     MixinBalancer, | ||||
|     MixinBalancerV2, | ||||
|     MixinBalancerV2Batch, | ||||
|     MixinBancor, | ||||
|     MixinCompound, | ||||
|     MixinCurve, | ||||
|     MixinCurveV2, | ||||
|     MixinCryptoCom, | ||||
|     MixinDodo, | ||||
|     MixinDodoV2, | ||||
|     MixinGMX, | ||||
|     MixinKyberDmm, | ||||
|     MixinLido, | ||||
|     MixinMakerPSM, | ||||
|     MixinMooniswap, | ||||
|     MixinMStable, | ||||
|     MixinNerve, | ||||
|     MixinPlatypus, | ||||
|     MixinShell, | ||||
|     MixinUniswap, | ||||
|     MixinUniswapV2, | ||||
|     MixinUniswapV3, | ||||
|     MixinZeroExBridge | ||||
| { | ||||
|     constructor(IEtherTokenV06 weth) | ||||
|     using LibRichErrorsV06 for bytes;  | ||||
|      | ||||
|     EthereumSubAdapter1 private immutable _subadapter1; | ||||
| 
 | ||||
|     constructor(IEtherTokenV06 weth, EthereumSubAdapter1 subadapter1) | ||||
|         public | ||||
|         MixinAaveV2() | ||||
|         MixinBalancer() | ||||
|         MixinBalancerV2() | ||||
|         MixinBancor(weth) | ||||
|         MixinCompound(weth) | ||||
|         MixinCurve(weth) | ||||
|         MixinCurveV2() | ||||
|         MixinCryptoCom() | ||||
|         MixinDodo() | ||||
|         MixinDodoV2() | ||||
|         MixinGMX() | ||||
|         MixinLido(weth) | ||||
|         MixinMakerPSM() | ||||
|         MixinMooniswap(weth) | ||||
|         MixinMStable() | ||||
|         MixinNerve() | ||||
|         MixinPlatypus() | ||||
|         MixinShell() | ||||
|         MixinUniswap(weth) | ||||
|         MixinUniswapV2() | ||||
|         MixinUniswapV3() | ||||
|         MixinZeroExBridge() | ||||
|     {} | ||||
|     { | ||||
|         uint256 chainId; | ||||
|         assembly { chainId := chainid() } | ||||
|         // Allow Ganache for testing | ||||
|         require(chainId == 1 || chainId == 1337 , 'EthereumBridgeAdapter.constructor: wrong chain ID'); | ||||
| 
 | ||||
|         _subadapter1 = subadapter1; | ||||
|     } | ||||
| 
 | ||||
|     function trade( | ||||
|         BridgeOrder memory order, | ||||
| @@ -112,19 +84,21 @@ contract BridgeAdapter is | ||||
|     { | ||||
|         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||
|         if (protocolId == BridgeProtocols.CURVE) { | ||||
|             boughtAmount = _tradeCurve( | ||||
|             boughtAmount = _delegateCallSubAdapter(address(_subadapter1), abi.encodeWithSelector( | ||||
|                 _subadapter1._tradeCurve.selector, | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|             )); | ||||
|         } else if (protocolId == BridgeProtocols.CURVEV2) { | ||||
|             boughtAmount = _tradeCurveV2( | ||||
|             boughtAmount = _delegateCallSubAdapter(address(_subadapter1), abi.encodeWithSelector( | ||||
|                 _subadapter1._tradeCurveV2.selector, | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|             )); | ||||
|         } else if (protocolId == BridgeProtocols.UNISWAPV3) { | ||||
|             boughtAmount = _tradeUniswapV3( | ||||
|                 sellToken, | ||||
| @@ -145,24 +119,27 @@ contract BridgeAdapter is | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.BALANCER) { | ||||
|             boughtAmount = _tradeBalancer( | ||||
|             boughtAmount = _delegateCallSubAdapter(address(_subadapter1), abi.encodeWithSelector( | ||||
|                 _subadapter1._tradeBalancer.selector, | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|             )); | ||||
|         } else if (protocolId == BridgeProtocols.BALANCERV2) { | ||||
|             boughtAmount = _tradeBalancerV2( | ||||
|             boughtAmount = _delegateCallSubAdapter(address(_subadapter1), abi.encodeWithSelector( | ||||
|                 _subadapter1._tradeBalancerV2.selector, | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|             )); | ||||
|         } else if (protocolId == BridgeProtocols.BALANCERV2BATCH) { | ||||
|             boughtAmount = _tradeBalancerV2Batch( | ||||
|             boughtAmount = _delegateCallSubAdapter(address(_subadapter1), abi.encodeWithSelector( | ||||
|                 _subadapter1._tradeBalancerV2Batch.selector, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|             )); | ||||
|         } else if (protocolId == BridgeProtocols.MAKERPSM) { | ||||
|             boughtAmount = _tradeMakerPsm( | ||||
|                 sellToken, | ||||
| @@ -210,17 +187,12 @@ contract BridgeAdapter is | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.BANCOR) { | ||||
|             boughtAmount = _tradeBancor( | ||||
|             boughtAmount = _delegateCallSubAdapter(address(_subadapter1), abi.encodeWithSelector( | ||||
|                 _subadapter1._tradeBancor.selector, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.NERVE) { | ||||
|             boughtAmount = _tradeNerve( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|             )); | ||||
|         } else if (protocolId == BridgeProtocols.KYBERDMM) { | ||||
|             boughtAmount = _tradeKyberDmm( | ||||
|                 buyToken, | ||||
| @@ -235,31 +207,21 @@ contract BridgeAdapter is | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.AAVEV2) { | ||||
|             boughtAmount = _tradeAaveV2( | ||||
|             boughtAmount = _delegateCallSubAdapter(address(_subadapter1), abi.encodeWithSelector( | ||||
|                 _subadapter1._tradeAaveV2.selector, | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|             )); | ||||
|         } else if (protocolId == BridgeProtocols.COMPOUND) { | ||||
|             boughtAmount = _tradeCompound( | ||||
|             boughtAmount = _delegateCallSubAdapter(address(_subadapter1), abi.encodeWithSelector( | ||||
|                 _subadapter1._tradeCompound.selector, | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.GMX) { | ||||
|             boughtAmount = _tradeGMX( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.PLATYPUS) { | ||||
|             boughtAmount = _tradePlatypus( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|             )); | ||||
|         } else { | ||||
|             boughtAmount = _tradeZeroExBridge( | ||||
|                 sellToken, | ||||
| @@ -277,4 +239,17 @@ contract BridgeAdapter is | ||||
|             boughtAmount | ||||
|         ); | ||||
|     } | ||||
| 
 | ||||
|     function _delegateCallSubAdapter(address subadapter, bytes memory encodedCall) | ||||
|         private | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         (bool success, bytes memory resultData) = address(subadapter) | ||||
|             .delegatecall(encodedCall); | ||||
|         if (!success) { | ||||
|             resultData.rrevert(); | ||||
|         } else { | ||||
|             boughtAmount = abi.decode(resultData, (uint256)); | ||||
|         } | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,52 @@ | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
|  | ||||
|   Copyright 2022 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 "./mixins/MixinAaveV2.sol"; | ||||
| import "./mixins/MixinBalancer.sol"; | ||||
| import "./mixins/MixinBalancerV2.sol"; | ||||
| import "./mixins/MixinBalancerV2Batch.sol"; | ||||
| import "./mixins/MixinBancor.sol"; | ||||
| import "./mixins/MixinCompound.sol"; | ||||
| import "./mixins/MixinCurve.sol"; | ||||
| import "./mixins/MixinCurveV2.sol"; | ||||
|  | ||||
| contract EthereumSubAdapter1 is | ||||
|     MixinAaveV2, | ||||
|     MixinBalancer, | ||||
|     MixinBalancerV2, | ||||
|     MixinBalancerV2Batch, | ||||
|     MixinBancor, | ||||
|     MixinCompound, | ||||
|     MixinCurve, | ||||
|     MixinCurveV2 | ||||
| { | ||||
|     constructor(IEtherTokenV06 weth) | ||||
|         public | ||||
|         MixinBancor(weth) | ||||
|         MixinCompound(weth) | ||||
|         MixinCurve(weth) | ||||
|     { | ||||
|         uint256 chainId; | ||||
|         assembly { chainId := chainid() } | ||||
|         require(chainId == 1, 'EthereumSubAdapter1.constructor: wrong chain ID'); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,120 @@ | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
|  | ||||
|   Copyright 2022 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 "./IBridgeAdapter.sol"; | ||||
| import "./BridgeProtocols.sol"; | ||||
| import "./mixins/MixinAaveV2.sol"; | ||||
| import "./mixins/MixinBalancerV2.sol"; | ||||
| import "./mixins/MixinCurve.sol"; | ||||
| import "./mixins/MixinCurveV2.sol"; | ||||
| import "./mixins/MixinNerve.sol"; | ||||
| import "./mixins/MixinUniswapV2.sol"; | ||||
| import "./mixins/MixinZeroExBridge.sol"; | ||||
|  | ||||
| contract FantomBridgeAdapter is | ||||
|     IBridgeAdapter, | ||||
|     MixinAaveV2, | ||||
|     MixinBalancerV2, | ||||
|     MixinCurve, | ||||
|     MixinCurveV2, | ||||
|     MixinNerve, | ||||
|     MixinUniswapV2, | ||||
|     MixinZeroExBridge | ||||
| { | ||||
|     constructor(IEtherTokenV06 weth) | ||||
|         public | ||||
|         MixinCurve(weth) | ||||
|     { | ||||
|         uint256 chainId; | ||||
|         assembly { chainId := chainid() } | ||||
|         require(chainId == 250, 'FantomBridgeAdapter.constructor: wrong chain ID'); | ||||
|     } | ||||
|  | ||||
|     function trade( | ||||
|         BridgeOrder memory order, | ||||
|         IERC20TokenV06 sellToken, | ||||
|         IERC20TokenV06 buyToken, | ||||
|         uint256 sellAmount | ||||
|     ) | ||||
|         public | ||||
|         override | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||
|         if (protocolId == BridgeProtocols.CURVE) { | ||||
|             boughtAmount = _tradeCurve( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.CURVEV2) { | ||||
|             boughtAmount = _tradeCurveV2( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.UNISWAPV2) { | ||||
|             boughtAmount = _tradeUniswapV2( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.BALANCERV2) { | ||||
|             boughtAmount = _tradeBalancerV2( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.NERVE) { | ||||
|             boughtAmount = _tradeNerve( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.AAVEV2) { | ||||
|             boughtAmount = _tradeAaveV2( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else { | ||||
|             boughtAmount = _tradeZeroExBridge( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         emit BridgeFill( | ||||
|             order.source, | ||||
|             sellToken, | ||||
|             buyToken, | ||||
|             sellAmount, | ||||
|             boughtAmount | ||||
|         ); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,102 @@ | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
|  | ||||
|   Copyright 2022 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 "./IBridgeAdapter.sol"; | ||||
| import "./BridgeProtocols.sol"; | ||||
| import "./mixins/MixinCurve.sol"; | ||||
| import "./mixins/MixinCurveV2.sol"; | ||||
| import "./mixins/MixinNerve.sol"; | ||||
| import "./mixins/MixinUniswapV3.sol"; | ||||
| import "./mixins/MixinZeroExBridge.sol"; | ||||
|  | ||||
| contract OptimismBridgeAdapter is | ||||
|     IBridgeAdapter, | ||||
|     MixinCurve, | ||||
|     MixinCurveV2, | ||||
|     MixinNerve, | ||||
|     MixinUniswapV3, | ||||
|     MixinZeroExBridge | ||||
| { | ||||
|     constructor(IEtherTokenV06 weth) | ||||
|         public | ||||
|         MixinCurve(weth) | ||||
|     { | ||||
|         uint256 chainId; | ||||
|         assembly { chainId := chainid() } | ||||
|         require(chainId == 10, 'OptimismBridgeAdapter.constructor: wrong chain ID'); | ||||
|     } | ||||
|  | ||||
|     function trade( | ||||
|         BridgeOrder memory order, | ||||
|         IERC20TokenV06 sellToken, | ||||
|         IERC20TokenV06 buyToken, | ||||
|         uint256 sellAmount | ||||
|     ) | ||||
|         public | ||||
|         override | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||
|         if (protocolId == BridgeProtocols.CURVE) { | ||||
|             boughtAmount = _tradeCurve( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.CURVEV2) { | ||||
|             boughtAmount = _tradeCurveV2( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.UNISWAPV3) { | ||||
|             boughtAmount = _tradeUniswapV3( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.NERVE) { | ||||
|             boughtAmount = _tradeNerve( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else { | ||||
|             boughtAmount = _tradeZeroExBridge( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         emit BridgeFill( | ||||
|             order.source, | ||||
|             sellToken, | ||||
|             buyToken, | ||||
|             sellAmount, | ||||
|             boughtAmount | ||||
|         ); | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,159 @@ | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
|  | ||||
|   Copyright 2022 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 "./IBridgeAdapter.sol"; | ||||
| import "./BridgeProtocols.sol"; | ||||
| import "./mixins/MixinBalancerV2.sol"; | ||||
| import "./mixins/MixinBalancerV2Batch.sol"; | ||||
| import "./mixins/MixinCurve.sol"; | ||||
| import "./mixins/MixinCurveV2.sol"; | ||||
| import "./mixins/MixinDodo.sol"; | ||||
| import "./mixins/MixinDodoV2.sol"; | ||||
| import "./mixins/MixinKyberDmm.sol"; | ||||
| import "./mixins/MixinMStable.sol"; | ||||
| import "./mixins/MixinNerve.sol"; | ||||
| import "./mixins/MixinUniswapV2.sol"; | ||||
| import "./mixins/MixinUniswapV3.sol"; | ||||
| import "./mixins/MixinZeroExBridge.sol"; | ||||
|  | ||||
| contract PolygonBridgeAdapter is | ||||
|     IBridgeAdapter, | ||||
|     MixinBalancerV2, | ||||
|     MixinBalancerV2Batch, | ||||
|     MixinCurve, | ||||
|     MixinCurveV2, | ||||
|     MixinDodo, | ||||
|     MixinDodoV2, | ||||
|     MixinKyberDmm, | ||||
|     MixinMStable, | ||||
|     MixinNerve, | ||||
|     MixinUniswapV2, | ||||
|     MixinUniswapV3, | ||||
|     MixinZeroExBridge | ||||
| { | ||||
|     constructor(IEtherTokenV06 weth) | ||||
|         public | ||||
|         MixinCurve(weth) | ||||
|     { | ||||
|         uint256 chainId; | ||||
|         assembly { chainId := chainid() } | ||||
|         require(chainId == 137, 'PolygonBridgeAdapter.constructor: wrong chain ID'); | ||||
|     } | ||||
|  | ||||
|     function trade( | ||||
|         BridgeOrder memory order, | ||||
|         IERC20TokenV06 sellToken, | ||||
|         IERC20TokenV06 buyToken, | ||||
|         uint256 sellAmount | ||||
|     ) | ||||
|         public | ||||
|         override | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         uint128 protocolId = uint128(uint256(order.source) >> 128); | ||||
|         if (protocolId == BridgeProtocols.CURVE) { | ||||
|             boughtAmount = _tradeCurve( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.CURVEV2) { | ||||
|             boughtAmount = _tradeCurveV2( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.UNISWAPV3) { | ||||
|             boughtAmount = _tradeUniswapV3( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.UNISWAPV2) { | ||||
|             boughtAmount = _tradeUniswapV2( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.BALANCERV2) { | ||||
|             boughtAmount = _tradeBalancerV2( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.BALANCERV2BATCH) { | ||||
|             boughtAmount = _tradeBalancerV2Batch( | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.MSTABLE) { | ||||
|             boughtAmount = _tradeMStable( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.DODO) { | ||||
|             boughtAmount = _tradeDodo( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.DODOV2) { | ||||
|             boughtAmount = _tradeDodoV2( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.NERVE) { | ||||
|             boughtAmount = _tradeNerve( | ||||
|                 sellToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else if (protocolId == BridgeProtocols.KYBERDMM) { | ||||
|             boughtAmount = _tradeKyberDmm( | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } else { | ||||
|             boughtAmount = _tradeZeroExBridge( | ||||
|                 sellToken, | ||||
|                 buyToken, | ||||
|                 sellAmount, | ||||
|                 order.bridgeData | ||||
|             ); | ||||
|         } | ||||
|  | ||||
|         emit BridgeFill( | ||||
|             order.source, | ||||
|             sellToken, | ||||
|             buyToken, | ||||
|             sellAmount, | ||||
|             boughtAmount | ||||
|         ); | ||||
|     } | ||||
| } | ||||
| @@ -70,7 +70,7 @@ contract MixinAaveV2 { | ||||
|         uint256 sellAmount, | ||||
|         bytes memory bridgeData | ||||
|     ) | ||||
|         internal | ||||
|         public | ||||
|         returns (uint256) | ||||
|     { | ||||
|         (ILendingPool lendingPool, address aToken) = abi.decode(bridgeData, (ILendingPool, address)); | ||||
|   | ||||
| @@ -51,7 +51,7 @@ contract MixinBalancer { | ||||
|         uint256 sellAmount, | ||||
|         bytes memory bridgeData | ||||
|     ) | ||||
|         internal | ||||
|         public | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         // Decode the bridge data. | ||||
|   | ||||
| @@ -80,7 +80,7 @@ contract MixinBalancerV2 { | ||||
|         uint256 sellAmount, | ||||
|         bytes memory bridgeData | ||||
|     ) | ||||
|         internal | ||||
|         public | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         // Decode the bridge data. | ||||
|   | ||||
| @@ -67,7 +67,7 @@ contract MixinBalancerV2Batch { | ||||
|         uint256 sellAmount, | ||||
|         bytes memory bridgeData | ||||
|     ) | ||||
|         internal | ||||
|         public | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         // Decode the bridge data. | ||||
|   | ||||
| @@ -60,7 +60,7 @@ contract MixinBancor { | ||||
|         uint256 sellAmount, | ||||
|         bytes memory bridgeData | ||||
|     ) | ||||
|         internal | ||||
|         public | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         // Decode the bridge data. | ||||
|   | ||||
| @@ -67,7 +67,7 @@ contract MixinCompound { | ||||
|         uint256 sellAmount, | ||||
|         bytes memory bridgeData | ||||
|     ) | ||||
|         internal | ||||
|         public | ||||
|         returns (uint256) | ||||
|     { | ||||
|         (address cTokenAddress) = abi.decode(bridgeData, (address)); | ||||
|   | ||||
| @@ -55,7 +55,7 @@ contract MixinCurve { | ||||
|         uint256 sellAmount, | ||||
|         bytes memory bridgeData | ||||
|     ) | ||||
|         internal | ||||
|         public | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         // Decode the bridge data to get the Curve metadata. | ||||
|   | ||||
| @@ -44,7 +44,7 @@ contract MixinCurveV2 { | ||||
|         uint256 sellAmount, | ||||
|         bytes memory bridgeData | ||||
|     ) | ||||
|         internal | ||||
|         public | ||||
|         returns (uint256 boughtAmount) | ||||
|     { | ||||
|         // Decode the bridge data to get the Curve metadata. | ||||
|   | ||||
| @@ -1,3 +1,22 @@ | ||||
| // SPDX-License-Identifier: Apache-2.0 | ||||
| /* | ||||
|  | ||||
|   Copyright 2022 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; | ||||
|  | ||||
| @@ -58,7 +77,7 @@ contract MixinPlatypus { | ||||
|         //keep track of the previous balance to confirm amount out | ||||
|         uint256 beforeBalance = buyToken.balanceOf(address(this)); | ||||
|  | ||||
|         (uint256 amountOut, uint256 haircut) = router.swapTokensForTokens( | ||||
|         router.swapTokensForTokens( | ||||
|             // Convert to `buyToken` along this path. | ||||
|             _path, | ||||
|             // pool to swap on | ||||
|   | ||||
| @@ -41,9 +41,9 @@ | ||||
|         "rollback": "node ./lib/scripts/rollback.js" | ||||
|     }, | ||||
|     "config": { | ||||
|         "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IERC20Transformer,IOwnableFeature,ISimpleFunctionRegistryFeature,ITransformERC20Feature,FillQuoteTransformer,PayTakerTransformer,PositiveSlippageFeeTransformer,WethTransformer,OwnableFeature,SimpleFunctionRegistryFeature,TransformERC20Feature,AffiliateFeeTransformer,MetaTransactionsFeature,LogMetadataTransformer,BridgeAdapter,LiquidityProviderFeature,ILiquidityProviderFeature,NativeOrdersFeature,INativeOrdersFeature,FeeCollectorController,FeeCollector,CurveLiquidityProvider,BatchFillNativeOrdersFeature,IBatchFillNativeOrdersFeature,MultiplexFeature,IMultiplexFeature,OtcOrdersFeature,IOtcOrdersFeature", | ||||
|         "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", | ||||
|         "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.", | ||||
|         "abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|BatchFillNativeOrdersFeature|BootstrapFeature|BridgeAdapter|BridgeProtocols|CurveLiquidityProvider|ERC1155OrdersFeature|ERC165Feature|ERC721OrdersFeature|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|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|MixinAaveV2|MixinBalancer|MixinBalancerV2|MixinBalancerV2Batch|MixinBancor|MixinCompound|MixinCryptoCom|MixinCurve|MixinCurveV2|MixinDodo|MixinDodoV2|MixinGMX|MixinKyberDmm|MixinLido|MixinMStable|MixinMakerPSM|MixinMooniswap|MixinNerve|MixinPlatypus|MixinShell|MixinUniswap|MixinUniswapV2|MixinUniswapV3|MixinZeroExBridge|MooniswapLiquidityProvider|MultiplexFeature|MultiplexLiquidityProvider|MultiplexOtc|MultiplexRfq|MultiplexTransformERC20|MultiplexUniswapV2|MultiplexUniswapV3|NFTOrders|NativeOrdersCancellation|NativeOrdersFeature|NativeOrdersInfo|NativeOrdersProtocolFees|NativeOrdersSettlement|OtcOrdersFeature|OwnableFeature|PancakeSwapFeature|PayTakerTransformer|PermissionlessTransformerDeployer|PositiveSlippageFeeTransformer|SimpleFunctionRegistryFeature|TestBridge|TestCallTarget|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|TestZeroExFeature|TransformERC20Feature|Transformer|TransformerDeployer|UniswapFeature|UniswapV3Feature|WethTransformer|ZeroEx|ZeroExOptimized).json" | ||||
|         "abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|AvalancheBridgeAdapter|BSCBridgeAdapter|BatchFillNativeOrdersFeature|BootstrapFeature|BridgeProtocols|CeloBridgeAdapter|CurveLiquidityProvider|ERC1155OrdersFeature|ERC165Feature|ERC721OrdersFeature|EthereumBridgeAdapter|EthereumSubAdapter1|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|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|MixinAaveV2|MixinBalancer|MixinBalancerV2|MixinBalancerV2Batch|MixinBancor|MixinCompound|MixinCryptoCom|MixinCurve|MixinCurveV2|MixinDodo|MixinDodoV2|MixinGMX|MixinKyberDmm|MixinLido|MixinMStable|MixinMakerPSM|MixinMooniswap|MixinNerve|MixinPlatypus|MixinShell|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|TestBridge|TestCallTarget|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|TestZeroExFeature|TransformERC20Feature|Transformer|TransformerDeployer|UniswapFeature|UniswapV3Feature|WethTransformer|ZeroEx|ZeroExOptimized).json" | ||||
|     }, | ||||
|     "repository": { | ||||
|         "type": "git", | ||||
|   | ||||
| @@ -6,9 +6,13 @@ | ||||
| import { ContractArtifact } from 'ethereum-types'; | ||||
|  | ||||
| import * as AffiliateFeeTransformer from '../generated-artifacts/AffiliateFeeTransformer.json'; | ||||
| import * as AvalancheBridgeAdapter from '../generated-artifacts/AvalancheBridgeAdapter.json'; | ||||
| import * as BatchFillNativeOrdersFeature from '../generated-artifacts/BatchFillNativeOrdersFeature.json'; | ||||
| import * as BridgeAdapter from '../generated-artifacts/BridgeAdapter.json'; | ||||
| import * as BSCBridgeAdapter from '../generated-artifacts/BSCBridgeAdapter.json'; | ||||
| import * as CeloBridgeAdapter from '../generated-artifacts/CeloBridgeAdapter.json'; | ||||
| import * as CurveLiquidityProvider from '../generated-artifacts/CurveLiquidityProvider.json'; | ||||
| import * as EthereumBridgeAdapter from '../generated-artifacts/EthereumBridgeAdapter.json'; | ||||
| import * as FantomBridgeAdapter from '../generated-artifacts/FantomBridgeAdapter.json'; | ||||
| import * as FeeCollector from '../generated-artifacts/FeeCollector.json'; | ||||
| import * as FeeCollectorController from '../generated-artifacts/FeeCollectorController.json'; | ||||
| import * as FillQuoteTransformer from '../generated-artifacts/FillQuoteTransformer.json'; | ||||
| @@ -30,9 +34,11 @@ import * as LogMetadataTransformer from '../generated-artifacts/LogMetadataTrans | ||||
| import * as MetaTransactionsFeature from '../generated-artifacts/MetaTransactionsFeature.json'; | ||||
| import * as MultiplexFeature from '../generated-artifacts/MultiplexFeature.json'; | ||||
| import * as NativeOrdersFeature from '../generated-artifacts/NativeOrdersFeature.json'; | ||||
| import * as OptimismBridgeAdapter from '../generated-artifacts/OptimismBridgeAdapter.json'; | ||||
| import * as OtcOrdersFeature from '../generated-artifacts/OtcOrdersFeature.json'; | ||||
| import * as OwnableFeature from '../generated-artifacts/OwnableFeature.json'; | ||||
| import * as PayTakerTransformer from '../generated-artifacts/PayTakerTransformer.json'; | ||||
| import * as PolygonBridgeAdapter from '../generated-artifacts/PolygonBridgeAdapter.json'; | ||||
| import * as PositiveSlippageFeeTransformer from '../generated-artifacts/PositiveSlippageFeeTransformer.json'; | ||||
| import * as SimpleFunctionRegistryFeature from '../generated-artifacts/SimpleFunctionRegistryFeature.json'; | ||||
| import * as TransformERC20Feature from '../generated-artifacts/TransformERC20Feature.json'; | ||||
| @@ -58,7 +64,6 @@ export const artifacts = { | ||||
|     AffiliateFeeTransformer: AffiliateFeeTransformer as ContractArtifact, | ||||
|     MetaTransactionsFeature: MetaTransactionsFeature as ContractArtifact, | ||||
|     LogMetadataTransformer: LogMetadataTransformer as ContractArtifact, | ||||
|     BridgeAdapter: BridgeAdapter as ContractArtifact, | ||||
|     LiquidityProviderFeature: LiquidityProviderFeature as ContractArtifact, | ||||
|     ILiquidityProviderFeature: ILiquidityProviderFeature as ContractArtifact, | ||||
|     NativeOrdersFeature: NativeOrdersFeature as ContractArtifact, | ||||
| @@ -72,4 +77,11 @@ export const artifacts = { | ||||
|     IMultiplexFeature: IMultiplexFeature as ContractArtifact, | ||||
|     OtcOrdersFeature: OtcOrdersFeature as ContractArtifact, | ||||
|     IOtcOrdersFeature: IOtcOrdersFeature as ContractArtifact, | ||||
|     AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, | ||||
|     BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, | ||||
|     CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, | ||||
|     EthereumBridgeAdapter: EthereumBridgeAdapter as ContractArtifact, | ||||
|     FantomBridgeAdapter: FantomBridgeAdapter as ContractArtifact, | ||||
|     OptimismBridgeAdapter: OptimismBridgeAdapter as ContractArtifact, | ||||
|     PolygonBridgeAdapter: PolygonBridgeAdapter as ContractArtifact, | ||||
| }; | ||||
|   | ||||
| @@ -35,7 +35,11 @@ export * from './bloom_filter_utils'; | ||||
| export { GREEDY_TOKENS } from './constants'; | ||||
| export { | ||||
|     AffiliateFeeTransformerContract, | ||||
|     BridgeAdapterContract, | ||||
|     AvalancheBridgeAdapterContract, | ||||
|     BSCBridgeAdapterContract, | ||||
|     CeloBridgeAdapterContract, | ||||
|     EthereumBridgeAdapterContract, | ||||
|     FantomBridgeAdapterContract, | ||||
|     FillQuoteTransformerContract, | ||||
|     IOwnableFeatureContract, | ||||
|     IOwnableFeatureEvents, | ||||
| @@ -45,7 +49,9 @@ export { | ||||
|     IZeroExContract, | ||||
|     LogMetadataTransformerContract, | ||||
|     MultiplexFeatureContract, | ||||
|     OptimismBridgeAdapterContract, | ||||
|     PayTakerTransformerContract, | ||||
|     PolygonBridgeAdapterContract, | ||||
|     PositiveSlippageFeeTransformerContract, | ||||
|     TransformERC20FeatureContract, | ||||
|     WethTransformerContract, | ||||
|   | ||||
| @@ -4,9 +4,13 @@ | ||||
|  * ----------------------------------------------------------------------------- | ||||
|  */ | ||||
| export * from '../generated-wrappers/affiliate_fee_transformer'; | ||||
| export * from '../generated-wrappers/avalanche_bridge_adapter'; | ||||
| export * from '../generated-wrappers/b_s_c_bridge_adapter'; | ||||
| export * from '../generated-wrappers/batch_fill_native_orders_feature'; | ||||
| export * from '../generated-wrappers/bridge_adapter'; | ||||
| export * from '../generated-wrappers/celo_bridge_adapter'; | ||||
| export * from '../generated-wrappers/curve_liquidity_provider'; | ||||
| export * from '../generated-wrappers/ethereum_bridge_adapter'; | ||||
| export * from '../generated-wrappers/fantom_bridge_adapter'; | ||||
| export * from '../generated-wrappers/fee_collector'; | ||||
| export * from '../generated-wrappers/fee_collector_controller'; | ||||
| export * from '../generated-wrappers/fill_quote_transformer'; | ||||
| @@ -28,9 +32,11 @@ export * from '../generated-wrappers/log_metadata_transformer'; | ||||
| export * from '../generated-wrappers/meta_transactions_feature'; | ||||
| export * from '../generated-wrappers/multiplex_feature'; | ||||
| export * from '../generated-wrappers/native_orders_feature'; | ||||
| export * from '../generated-wrappers/optimism_bridge_adapter'; | ||||
| export * from '../generated-wrappers/otc_orders_feature'; | ||||
| export * from '../generated-wrappers/ownable_feature'; | ||||
| export * from '../generated-wrappers/pay_taker_transformer'; | ||||
| export * from '../generated-wrappers/polygon_bridge_adapter'; | ||||
| export * from '../generated-wrappers/positive_slippage_fee_transformer'; | ||||
| export * from '../generated-wrappers/simple_function_registry_feature'; | ||||
| export * from '../generated-wrappers/transform_erc20_feature'; | ||||
|   | ||||
| @@ -6,14 +6,19 @@ | ||||
| import { ContractArtifact } from 'ethereum-types'; | ||||
|  | ||||
| import * as AffiliateFeeTransformer from '../test/generated-artifacts/AffiliateFeeTransformer.json'; | ||||
| import * as AvalancheBridgeAdapter from '../test/generated-artifacts/AvalancheBridgeAdapter.json'; | ||||
| import * as BatchFillNativeOrdersFeature from '../test/generated-artifacts/BatchFillNativeOrdersFeature.json'; | ||||
| import * as BootstrapFeature from '../test/generated-artifacts/BootstrapFeature.json'; | ||||
| import * as BridgeAdapter from '../test/generated-artifacts/BridgeAdapter.json'; | ||||
| import * as BridgeProtocols from '../test/generated-artifacts/BridgeProtocols.json'; | ||||
| import * as BSCBridgeAdapter from '../test/generated-artifacts/BSCBridgeAdapter.json'; | ||||
| import * as CeloBridgeAdapter from '../test/generated-artifacts/CeloBridgeAdapter.json'; | ||||
| import * as CurveLiquidityProvider from '../test/generated-artifacts/CurveLiquidityProvider.json'; | ||||
| import * as ERC1155OrdersFeature from '../test/generated-artifacts/ERC1155OrdersFeature.json'; | ||||
| import * as ERC165Feature from '../test/generated-artifacts/ERC165Feature.json'; | ||||
| import * as ERC721OrdersFeature from '../test/generated-artifacts/ERC721OrdersFeature.json'; | ||||
| import * as EthereumBridgeAdapter from '../test/generated-artifacts/EthereumBridgeAdapter.json'; | ||||
| import * as EthereumSubAdapter1 from '../test/generated-artifacts/EthereumSubAdapter1.json'; | ||||
| import * as FantomBridgeAdapter from '../test/generated-artifacts/FantomBridgeAdapter.json'; | ||||
| import * as FeeCollector from '../test/generated-artifacts/FeeCollector.json'; | ||||
| import * as FeeCollectorController from '../test/generated-artifacts/FeeCollectorController.json'; | ||||
| import * as FillQuoteTransformer from '../test/generated-artifacts/FillQuoteTransformer.json'; | ||||
| @@ -136,11 +141,13 @@ import * as NativeOrdersInfo from '../test/generated-artifacts/NativeOrdersInfo. | ||||
| import * as NativeOrdersProtocolFees from '../test/generated-artifacts/NativeOrdersProtocolFees.json'; | ||||
| import * as NativeOrdersSettlement from '../test/generated-artifacts/NativeOrdersSettlement.json'; | ||||
| import * as NFTOrders from '../test/generated-artifacts/NFTOrders.json'; | ||||
| import * as OptimismBridgeAdapter from '../test/generated-artifacts/OptimismBridgeAdapter.json'; | ||||
| import * as OtcOrdersFeature from '../test/generated-artifacts/OtcOrdersFeature.json'; | ||||
| import * as OwnableFeature from '../test/generated-artifacts/OwnableFeature.json'; | ||||
| import * as PancakeSwapFeature from '../test/generated-artifacts/PancakeSwapFeature.json'; | ||||
| import * as PayTakerTransformer from '../test/generated-artifacts/PayTakerTransformer.json'; | ||||
| import * as PermissionlessTransformerDeployer from '../test/generated-artifacts/PermissionlessTransformerDeployer.json'; | ||||
| import * as PolygonBridgeAdapter from '../test/generated-artifacts/PolygonBridgeAdapter.json'; | ||||
| import * as PositiveSlippageFeeTransformer from '../test/generated-artifacts/PositiveSlippageFeeTransformer.json'; | ||||
| import * as SimpleFunctionRegistryFeature from '../test/generated-artifacts/SimpleFunctionRegistryFeature.json'; | ||||
| import * as TestBridge from '../test/generated-artifacts/TestBridge.json'; | ||||
| @@ -307,9 +314,16 @@ export const artifacts = { | ||||
|     PositiveSlippageFeeTransformer: PositiveSlippageFeeTransformer as ContractArtifact, | ||||
|     Transformer: Transformer as ContractArtifact, | ||||
|     WethTransformer: WethTransformer as ContractArtifact, | ||||
|     BridgeAdapter: BridgeAdapter as ContractArtifact, | ||||
|     AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, | ||||
|     BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, | ||||
|     BridgeProtocols: BridgeProtocols as ContractArtifact, | ||||
|     CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, | ||||
|     EthereumBridgeAdapter: EthereumBridgeAdapter as ContractArtifact, | ||||
|     EthereumSubAdapter1: EthereumSubAdapter1 as ContractArtifact, | ||||
|     FantomBridgeAdapter: FantomBridgeAdapter as ContractArtifact, | ||||
|     IBridgeAdapter: IBridgeAdapter as ContractArtifact, | ||||
|     OptimismBridgeAdapter: OptimismBridgeAdapter as ContractArtifact, | ||||
|     PolygonBridgeAdapter: PolygonBridgeAdapter as ContractArtifact, | ||||
|     MixinAaveV2: MixinAaveV2 as ContractArtifact, | ||||
|     MixinBalancer: MixinBalancer as ContractArtifact, | ||||
|     MixinBalancerV2: MixinBalancerV2 as ContractArtifact, | ||||
|   | ||||
| @@ -28,7 +28,7 @@ import { artifacts } from '../artifacts'; | ||||
| import { TestFillQuoteTransformerBridgeContract } from '../generated-wrappers/test_fill_quote_transformer_bridge'; | ||||
| import { getRandomLimitOrder, getRandomRfqOrder } from '../utils/orders'; | ||||
| import { | ||||
|     BridgeAdapterContract, | ||||
|     EthereumBridgeAdapterContract, | ||||
|     FillQuoteTransformerContract, | ||||
|     TestFillQuoteTransformerExchangeContract, | ||||
|     TestFillQuoteTransformerHostContract, | ||||
| @@ -64,8 +64,8 @@ blockchainTests.resets('FillQuoteTransformer', env => { | ||||
|             env.txDefaults, | ||||
|             artifacts, | ||||
|         ); | ||||
|         const bridgeAdapter = await BridgeAdapterContract.deployFrom0xArtifactAsync( | ||||
|             artifacts.BridgeAdapter, | ||||
|         const bridgeAdapter = await EthereumBridgeAdapterContract.deployFrom0xArtifactAsync( | ||||
|             artifacts.EthereumBridgeAdapter, | ||||
|             env.provider, | ||||
|             env.txDefaults, | ||||
|             artifacts, | ||||
|   | ||||
| @@ -4,14 +4,19 @@ | ||||
|  * ----------------------------------------------------------------------------- | ||||
|  */ | ||||
| export * from '../test/generated-wrappers/affiliate_fee_transformer'; | ||||
| export * from '../test/generated-wrappers/avalanche_bridge_adapter'; | ||||
| export * from '../test/generated-wrappers/b_s_c_bridge_adapter'; | ||||
| export * from '../test/generated-wrappers/batch_fill_native_orders_feature'; | ||||
| export * from '../test/generated-wrappers/bootstrap_feature'; | ||||
| export * from '../test/generated-wrappers/bridge_adapter'; | ||||
| export * from '../test/generated-wrappers/bridge_protocols'; | ||||
| export * from '../test/generated-wrappers/celo_bridge_adapter'; | ||||
| export * from '../test/generated-wrappers/curve_liquidity_provider'; | ||||
| export * from '../test/generated-wrappers/erc1155_orders_feature'; | ||||
| export * from '../test/generated-wrappers/erc165_feature'; | ||||
| export * from '../test/generated-wrappers/erc721_orders_feature'; | ||||
| export * from '../test/generated-wrappers/ethereum_bridge_adapter'; | ||||
| export * from '../test/generated-wrappers/ethereum_sub_adapter1'; | ||||
| export * from '../test/generated-wrappers/fantom_bridge_adapter'; | ||||
| export * from '../test/generated-wrappers/fee_collector'; | ||||
| export * from '../test/generated-wrappers/fee_collector_controller'; | ||||
| export * from '../test/generated-wrappers/fill_quote_transformer'; | ||||
| @@ -134,11 +139,13 @@ export * from '../test/generated-wrappers/native_orders_feature'; | ||||
| export * from '../test/generated-wrappers/native_orders_info'; | ||||
| export * from '../test/generated-wrappers/native_orders_protocol_fees'; | ||||
| export * from '../test/generated-wrappers/native_orders_settlement'; | ||||
| export * from '../test/generated-wrappers/optimism_bridge_adapter'; | ||||
| export * from '../test/generated-wrappers/otc_orders_feature'; | ||||
| export * from '../test/generated-wrappers/ownable_feature'; | ||||
| export * from '../test/generated-wrappers/pancake_swap_feature'; | ||||
| export * from '../test/generated-wrappers/pay_taker_transformer'; | ||||
| export * from '../test/generated-wrappers/permissionless_transformer_deployer'; | ||||
| export * from '../test/generated-wrappers/polygon_bridge_adapter'; | ||||
| export * from '../test/generated-wrappers/positive_slippage_fee_transformer'; | ||||
| export * from '../test/generated-wrappers/simple_function_registry_feature'; | ||||
| export * from '../test/generated-wrappers/test_bridge'; | ||||
|   | ||||
| @@ -4,9 +4,13 @@ | ||||
|     "include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*", "./scripts/**/*"], | ||||
|     "files": [ | ||||
|         "generated-artifacts/AffiliateFeeTransformer.json", | ||||
|         "generated-artifacts/AvalancheBridgeAdapter.json", | ||||
|         "generated-artifacts/BSCBridgeAdapter.json", | ||||
|         "generated-artifacts/BatchFillNativeOrdersFeature.json", | ||||
|         "generated-artifacts/BridgeAdapter.json", | ||||
|         "generated-artifacts/CeloBridgeAdapter.json", | ||||
|         "generated-artifacts/CurveLiquidityProvider.json", | ||||
|         "generated-artifacts/EthereumBridgeAdapter.json", | ||||
|         "generated-artifacts/FantomBridgeAdapter.json", | ||||
|         "generated-artifacts/FeeCollector.json", | ||||
|         "generated-artifacts/FeeCollectorController.json", | ||||
|         "generated-artifacts/FillQuoteTransformer.json", | ||||
| @@ -28,23 +32,30 @@ | ||||
|         "generated-artifacts/MetaTransactionsFeature.json", | ||||
|         "generated-artifacts/MultiplexFeature.json", | ||||
|         "generated-artifacts/NativeOrdersFeature.json", | ||||
|         "generated-artifacts/OptimismBridgeAdapter.json", | ||||
|         "generated-artifacts/OtcOrdersFeature.json", | ||||
|         "generated-artifacts/OwnableFeature.json", | ||||
|         "generated-artifacts/PayTakerTransformer.json", | ||||
|         "generated-artifacts/PolygonBridgeAdapter.json", | ||||
|         "generated-artifacts/PositiveSlippageFeeTransformer.json", | ||||
|         "generated-artifacts/SimpleFunctionRegistryFeature.json", | ||||
|         "generated-artifacts/TransformERC20Feature.json", | ||||
|         "generated-artifacts/WethTransformer.json", | ||||
|         "generated-artifacts/ZeroEx.json", | ||||
|         "test/generated-artifacts/AffiliateFeeTransformer.json", | ||||
|         "test/generated-artifacts/AvalancheBridgeAdapter.json", | ||||
|         "test/generated-artifacts/BSCBridgeAdapter.json", | ||||
|         "test/generated-artifacts/BatchFillNativeOrdersFeature.json", | ||||
|         "test/generated-artifacts/BootstrapFeature.json", | ||||
|         "test/generated-artifacts/BridgeAdapter.json", | ||||
|         "test/generated-artifacts/BridgeProtocols.json", | ||||
|         "test/generated-artifacts/CeloBridgeAdapter.json", | ||||
|         "test/generated-artifacts/CurveLiquidityProvider.json", | ||||
|         "test/generated-artifacts/ERC1155OrdersFeature.json", | ||||
|         "test/generated-artifacts/ERC165Feature.json", | ||||
|         "test/generated-artifacts/ERC721OrdersFeature.json", | ||||
|         "test/generated-artifacts/EthereumBridgeAdapter.json", | ||||
|         "test/generated-artifacts/EthereumSubAdapter1.json", | ||||
|         "test/generated-artifacts/FantomBridgeAdapter.json", | ||||
|         "test/generated-artifacts/FeeCollector.json", | ||||
|         "test/generated-artifacts/FeeCollectorController.json", | ||||
|         "test/generated-artifacts/FillQuoteTransformer.json", | ||||
| @@ -167,11 +178,13 @@ | ||||
|         "test/generated-artifacts/NativeOrdersInfo.json", | ||||
|         "test/generated-artifacts/NativeOrdersProtocolFees.json", | ||||
|         "test/generated-artifacts/NativeOrdersSettlement.json", | ||||
|         "test/generated-artifacts/OptimismBridgeAdapter.json", | ||||
|         "test/generated-artifacts/OtcOrdersFeature.json", | ||||
|         "test/generated-artifacts/OwnableFeature.json", | ||||
|         "test/generated-artifacts/PancakeSwapFeature.json", | ||||
|         "test/generated-artifacts/PayTakerTransformer.json", | ||||
|         "test/generated-artifacts/PermissionlessTransformerDeployer.json", | ||||
|         "test/generated-artifacts/PolygonBridgeAdapter.json", | ||||
|         "test/generated-artifacts/PositiveSlippageFeeTransformer.json", | ||||
|         "test/generated-artifacts/SimpleFunctionRegistryFeature.json", | ||||
|         "test/generated-artifacts/TestBridge.json", | ||||
|   | ||||
| @@ -288,7 +288,6 @@ export const BUY_SOURCE_FILTER_BY_CHAIN_ID = valueByChainId<SourceFilters>( | ||||
|             ERC20BridgeSource.JetSwap, | ||||
|             ERC20BridgeSource.ACryptos, | ||||
|             ERC20BridgeSource.KyberDmm, | ||||
|             ERC20BridgeSource.Synapse, | ||||
|             ERC20BridgeSource.BiSwap, | ||||
|         ]), | ||||
|         [ChainId.Polygon]: new SourceFilters([ | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import { | ||||
| import { | ||||
|     AffiliateFeeTransformerContract, | ||||
|     artifacts as exchangeProxyArtifacts, | ||||
|     BridgeAdapterContract, | ||||
|     EthereumBridgeAdapterContract, | ||||
|     FillQuoteTransformerContract, | ||||
|     fullMigrateAsync as fullMigrateExchangeProxyAsync, | ||||
|     PayTakerTransformerContract, | ||||
| @@ -206,8 +206,8 @@ export async function runMigrationsAsync( | ||||
|  | ||||
|     // Exchange Proxy ////////////////////////////////////////////////////////// | ||||
|  | ||||
|     const bridgeAdapter = await BridgeAdapterContract.deployFrom0xArtifactAsync( | ||||
|         exchangeProxyArtifacts.BridgeAdapter, | ||||
|     const bridgeAdapter = await EthereumBridgeAdapterContract.deployFrom0xArtifactAsync( | ||||
|         exchangeProxyArtifacts.EthereumBridgeAdapter, | ||||
|         provider, | ||||
|         txDefaults, | ||||
|         allArtifacts, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user