From fd68edb23957ddef3e462bf1718d2ea9c3ef93f1 Mon Sep 17 00:00:00 2001 From: wonge97 <84043208+wonge97@users.noreply.github.com> Date: Tue, 20 Jun 2023 11:22:54 -0500 Subject: [PATCH 01/21] Fix code block rendering (#729) --- docs/guides/nft_guide.rst | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/guides/nft_guide.rst b/docs/guides/nft_guide.rst index d6299bafe8..05ede796ed 100644 --- a/docs/guides/nft_guide.rst +++ b/docs/guides/nft_guide.rst @@ -15,6 +15,7 @@ Create an ERC721Order The following code snippet shows how to construct a basic ERC721 sell order in JavaScript. In the following example, the seller indicates that they would like to receive ether by providing the sentinel value `0xeee...`` as the `erc20Token`. .. code-block:: javascript + const { ERC721Order, NFTOrder } = require("@0x/protocol-utils"); const utils = require("@0x/utils"); @@ -48,6 +49,7 @@ The following code snippet shows how to construct a basic ERC721 sell order in J An ERC721 sell order can be created similarly. Note that buy orders must use WETH instead of ether, because the ERC20 `transferFrom` functionality is needed to execute a buy order. .. code-block:: javascript + const { ERC721Order, NFTOrder } = require("@0x/protocol-utils"); const utils = require("@0x/utils"); @@ -97,6 +99,7 @@ Fees are paid by the **buyer**, denominated in the asset paid by the buyer, and The following code snippet shows how to create an ERC721 order with a single fee. Multiple fees can be specified by providing multiple fee objects in the order fees field. .. code-block:: javascript + const { ERC721Order, NFTOrder } = require("@0x/protocol-utils"); const utils = require("@0x/utils"); @@ -130,6 +133,7 @@ The following code snippet shows how to create an ERC721 order with a single fee In 0x V4, it is possible to create a bid for any NFT in a particular collection. The following code snippet shows how to create an order to buy any CryptoCoven $WITCH. .. code-block:: javascript + const { ERC721Order, NFTOrder } = require("@0x/protocol-utils"); const utils = require("@0x/utils"); @@ -169,6 +173,7 @@ Off-chain orders must be signed by the order maker to be filled. For on-chain or Signing an order with a private key is easy: the `ERC721Order` and `ERC1155Order` classes from `@0x/protocol-utils` expose a `getSignatureWithKey` function that take a 0x-prefixed private key string. .. code-block:: javascript + const { ERC721Order, NFTOrder, SignatureType } = require("@0x/protocol-utils"); const utils = require("@0x/utils"); @@ -196,6 +201,7 @@ Signing an order with a private key is easy: the `ERC721Order` and `ERC1155Order **Signing with ethers** .. code-block:: javascript + const { ERC721Order, NFTOrder, SignatureType } = require("@0x/protocol-utils"); const utils = require("@0x/utils"); const { ethers } = require("ethers"); @@ -243,6 +249,7 @@ Signing an order with a private key is easy: the `ERC721Order` and `ERC1155Order Orders can be simultaneously "signed" and listed on-chain using the `preSignERC721Order` or `preSignERC1155Order` functions. Orders can only be signed by the maker address specified in the order. .. code-block:: solidity + /// @dev Approves an ERC721 order on-chain. After pre-signing /// the order, the `PRESIGNED` signature type will become /// valid for that order and signer. @@ -260,6 +267,7 @@ Orders can be simultaneously "signed" and listed on-chain using the `preSignERC7 If an order has been pre-signed, it can be filled by providing a “null” signature with the PRESIGNED signature type (see `LibSignature.sol `_): .. code-block:: solidity + LibSignature.Signature({ signatureType: LibSignature.SignatureType.PRESIGNED, v: uint8(0), @@ -270,6 +278,7 @@ If an order has been pre-signed, it can be filled by providing a “null” sign The pre-sign functions emit the entire order as an event, so that the order is easily indexable by subgraphs and thus easily indexable by subgraphs and thus easily discoverable without the need for an off-chain database. .. code-block:: solidity + /// @dev Emitted when an `ERC721Order` is pre-signed. /// Contains all the fields of the order. event ERC721OrderPreSigned( @@ -311,6 +320,7 @@ Filling an ERC721 Order The basic functions used for filling NFT orders are the following: .. code-block:: solidity + /// @dev Sells an ERC721 asset to fill the given order. /// @param buyOrder The ERC721 buy order. /// @param signature The order signature from the maker. @@ -407,6 +417,7 @@ Cancelling an ERC721 Order All orders, whether off-chain or on-chain, can only be cancelled on-chain. The following contract functions are used to cancel individual ERC721 and ERC1155 orders. .. code-block:: solidity + /// @dev Cancel a single ERC721 order by its nonce. The caller /// should be the maker of the order. Silently succeeds if /// an order with the same nonce has already been filled or @@ -427,6 +438,7 @@ Note that if there are multiple outstanding orders with the same nonce, calling The following functions can be used to cancel multiple orders. .. code-block:: solidity + /// @dev Cancel multiple ERC721 orders by their nonces. The caller /// should be the maker of the orders. Silently succeeds if /// an order with the same nonce has already been filled or From defdff460ad94b7bad98f7a9b1e59df60ef44334 Mon Sep 17 00:00:00 2001 From: duncancmt <1207590+duncancmt@users.noreply.github.com> Date: Tue, 18 Jul 2023 17:21:43 -0400 Subject: [PATCH 02/21] 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 --- .gitignore | 3 + contracts/zero-ex/CHANGELOG.json | 3 + contracts/zero-ex/compiler.json | 2 + .../bridges/BaseBridgeAdapter.sol | 79 +++++++++++++++++++ .../bridges/BaseGoerliBridgeAdapter.sol | 45 +++++++++++ contracts/zero-ex/package.json | 4 +- contracts/zero-ex/src/artifacts.ts | 4 + contracts/zero-ex/src/wrappers.ts | 2 + contracts/zero-ex/test/artifacts.ts | 4 + contracts/zero-ex/test/wrappers.ts | 2 + contracts/zero-ex/tsconfig.json | 4 + packages/contract-addresses/CHANGELOG.json | 8 ++ packages/contract-addresses/addresses.json | 23 ++++++ packages/contract-addresses/src/index.ts | 1 + 14 files changed, 182 insertions(+), 2 deletions(-) create mode 100644 contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol create mode 100644 contracts/zero-ex/contracts/src/transformers/bridges/BaseGoerliBridgeAdapter.sol diff --git a/.gitignore b/.gitignore index 9937ee084b..a4524b1792 100644 --- a/.gitignore +++ b/.gitignore @@ -84,6 +84,9 @@ TODO.md # IDE file .vscode .idea +*~ +.\#* +\#*\# # generated contract artifacts/ generated-artifacts/ diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 941af42efd..9812e5b7d1 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -7,6 +7,9 @@ }, { "note": "Remove Shell and MStable support" + }, + { + "note": "Add Base Mainnet and Goerli BridgeAdapters" } ] }, diff --git a/contracts/zero-ex/compiler.json b/contracts/zero-ex/compiler.json index 23ef6ed955..0bbd20919b 100644 --- a/contracts/zero-ex/compiler.json +++ b/contracts/zero-ex/compiler.json @@ -115,6 +115,8 @@ "./contracts/src/transformers/bridges/ArbitrumBridgeAdapter.sol", "./contracts/src/transformers/bridges/AvalancheBridgeAdapter.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/CeloBridgeAdapter.sol", "./contracts/src/transformers/bridges/EthereumBridgeAdapter.sol", diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol new file mode 100644 index 0000000000..860e6d1593 --- /dev/null +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.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); + } +} diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BaseGoerliBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BaseGoerliBridgeAdapter.sol new file mode 100644 index 0000000000..c77e1278b6 --- /dev/null +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BaseGoerliBridgeAdapter.sol @@ -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); + } +} diff --git a/contracts/zero-ex/package.json b/contracts/zero-ex/package.json index 06530d1b7b..e0abf01710 100644 --- a/contracts/zero-ex/package.json +++ b/contracts/zero-ex/package.json @@ -36,9 +36,9 @@ "typechain": "typechain --target=ethers-v5 --out-dir='typechain-wrappers' './foundry-artifacts/**/*.json'" }, "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": "./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": { "type": "git", diff --git a/contracts/zero-ex/src/artifacts.ts b/contracts/zero-ex/src/artifacts.ts index 654429c0bc..3211f56c39 100644 --- a/contracts/zero-ex/src/artifacts.ts +++ b/contracts/zero-ex/src/artifacts.ts @@ -7,6 +7,8 @@ import { ContractArtifact } from 'ethereum-types'; import * as AffiliateFeeTransformer from '../generated-artifacts/AffiliateFeeTransformer.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 BSCBridgeAdapter from '../generated-artifacts/BSCBridgeAdapter.json'; import * as CeloBridgeAdapter from '../generated-artifacts/CeloBridgeAdapter.json'; @@ -79,6 +81,8 @@ export const artifacts = { OtcOrdersFeature: OtcOrdersFeature as ContractArtifact, IOtcOrdersFeature: IOtcOrdersFeature as ContractArtifact, AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, + BaseGoerliBridgeAdapter: BaseGoerliBridgeAdapter as ContractArtifact, + BaseBridgeAdapter: BaseBridgeAdapter as ContractArtifact, BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, EthereumBridgeAdapter: EthereumBridgeAdapter as ContractArtifact, diff --git a/contracts/zero-ex/src/wrappers.ts b/contracts/zero-ex/src/wrappers.ts index 785fbe514b..cab7ff3d91 100644 --- a/contracts/zero-ex/src/wrappers.ts +++ b/contracts/zero-ex/src/wrappers.ts @@ -6,6 +6,8 @@ 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/base_bridge_adapter'; +export * from '../generated-wrappers/base_goerli_bridge_adapter'; export * from '../generated-wrappers/batch_fill_native_orders_feature'; export * from '../generated-wrappers/celo_bridge_adapter'; export * from '../generated-wrappers/curve_liquidity_provider'; diff --git a/contracts/zero-ex/test/artifacts.ts b/contracts/zero-ex/test/artifacts.ts index ec9e2389a2..f8b6a316bd 100644 --- a/contracts/zero-ex/test/artifacts.ts +++ b/contracts/zero-ex/test/artifacts.ts @@ -9,6 +9,8 @@ import * as AbstractBridgeAdapter from '../test/generated-artifacts/AbstractBrid import * as AffiliateFeeTransformer from '../test/generated-artifacts/AffiliateFeeTransformer.json'; import * as ArbitrumBridgeAdapter from '../test/generated-artifacts/ArbitrumBridgeAdapter.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 BootstrapFeature from '../test/generated-artifacts/BootstrapFeature.json'; import * as BridgeProtocols from '../test/generated-artifacts/BridgeProtocols.json'; @@ -318,6 +320,8 @@ export const artifacts = { AbstractBridgeAdapter: AbstractBridgeAdapter as ContractArtifact, ArbitrumBridgeAdapter: ArbitrumBridgeAdapter as ContractArtifact, AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, + BaseBridgeAdapter: BaseBridgeAdapter as ContractArtifact, + BaseGoerliBridgeAdapter: BaseGoerliBridgeAdapter as ContractArtifact, BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, BridgeProtocols: BridgeProtocols as ContractArtifact, CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, diff --git a/contracts/zero-ex/test/wrappers.ts b/contracts/zero-ex/test/wrappers.ts index 0956860c25..084945b18b 100644 --- a/contracts/zero-ex/test/wrappers.ts +++ b/contracts/zero-ex/test/wrappers.ts @@ -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/avalanche_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/bootstrap_feature'; export * from '../test/generated-wrappers/bridge_protocols'; diff --git a/contracts/zero-ex/tsconfig.json b/contracts/zero-ex/tsconfig.json index ab33e86988..7f8a163219 100644 --- a/contracts/zero-ex/tsconfig.json +++ b/contracts/zero-ex/tsconfig.json @@ -6,6 +6,8 @@ "generated-artifacts/AffiliateFeeTransformer.json", "generated-artifacts/AvalancheBridgeAdapter.json", "generated-artifacts/BSCBridgeAdapter.json", + "generated-artifacts/BaseBridgeAdapter.json", + "generated-artifacts/BaseGoerliBridgeAdapter.json", "generated-artifacts/BatchFillNativeOrdersFeature.json", "generated-artifacts/CeloBridgeAdapter.json", "generated-artifacts/CurveLiquidityProvider.json", @@ -48,6 +50,8 @@ "test/generated-artifacts/ArbitrumBridgeAdapter.json", "test/generated-artifacts/AvalancheBridgeAdapter.json", "test/generated-artifacts/BSCBridgeAdapter.json", + "test/generated-artifacts/BaseBridgeAdapter.json", + "test/generated-artifacts/BaseGoerliBridgeAdapter.json", "test/generated-artifacts/BatchFillNativeOrdersFeature.json", "test/generated-artifacts/BootstrapFeature.json", "test/generated-artifacts/BridgeProtocols.json", diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 115a5facc9..4eb03a5f5a 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "8.8.0", + "changes": [ + { + "note": "Add Base mainnet addresses" + } + ] + } { "version": "8.7.0", "changes": [ diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index f27f3c4326..82160a8cb6 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -251,5 +251,28 @@ "fillQuoteTransformer": "0x4a8815c2fc605e3b01aee52aade4d096c4e862c6", "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" + } } } diff --git a/packages/contract-addresses/src/index.ts b/packages/contract-addresses/src/index.ts index 87566204ba..c29a383d82 100644 --- a/packages/contract-addresses/src/index.ts +++ b/packages/contract-addresses/src/index.ts @@ -36,6 +36,7 @@ export enum ChainId { Celo = 42220, Optimism = 10, Arbitrum = 42161, + Base = 8453, } /** From 21c84770629b689af68eb2bebcba7c82837782cb Mon Sep 17 00:00:00 2001 From: "Savarn Dontamsetti (Sav)" Date: Tue, 18 Jul 2023 18:25:10 -0400 Subject: [PATCH 03/21] Fixing invalid CHANGELOG.json for contract-addresses (#736) --- packages/contract-addresses/CHANGELOG.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 4eb03a5f5a..0727fb0311 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -6,7 +6,7 @@ "note": "Add Base mainnet addresses" } ] - } + }, { "version": "8.7.0", "changes": [ From 4835a1b1e7b78cce787487bdb165a6519c220522 Mon Sep 17 00:00:00 2001 From: Kyu Date: Wed, 19 Jul 2023 06:52:40 -0700 Subject: [PATCH 04/21] Add UniswapV3 to Avalanche and BSC bridge adapters (#735) * Add UniswapV3 to Avalanche and BSC * Support v2 router in MixinUniswapV3 * Update Avalanche and BSC FillQuoteTransformer addresses --- contracts/zero-ex/CHANGELOG.json | 3 ++ .../bridges/AvalancheBridgeAdapter.sol | 7 +++ .../transformers/bridges/BSCBridgeAdapter.sol | 7 +++ .../bridges/mixins/MixinUniswapV3.sol | 45 ++++++++++++++----- packages/contract-addresses/CHANGELOG.json | 3 ++ packages/contract-addresses/addresses.json | 4 +- 6 files changed, 56 insertions(+), 13 deletions(-) diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 9812e5b7d1..97bbaafc6b 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -10,6 +10,9 @@ }, { "note": "Add Base Mainnet and Goerli BridgeAdapters" + }, + { + "note": "Add Uniswap V3 support on Avalanche and BSC" } ] }, diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/AvalancheBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/AvalancheBridgeAdapter.sol index f2ce9879c6..c8f836b565 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/AvalancheBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/AvalancheBridgeAdapter.sol @@ -28,6 +28,7 @@ import "./mixins/MixinNerve.sol"; import "./mixins/MixinPlatypus.sol"; import "./mixins/MixinTraderJoeV2.sol"; import "./mixins/MixinUniswapV2.sol"; +import "./mixins/MixinUniswapV3.sol"; import "./mixins/MixinWOOFi.sol"; import "./mixins/MixinZeroExBridge.sol"; @@ -44,6 +45,7 @@ contract AvalancheBridgeAdapter is MixinPlatypus, MixinTraderJoeV2, MixinUniswapV2, + MixinUniswapV3, MixinWOOFi, MixinZeroExBridge { @@ -72,6 +74,11 @@ contract AvalancheBridgeAdapter is return (0, true); } boughtAmount = _tradeUniswapV2(buyToken, sellAmount, order.bridgeData); + } else if (protocolId == BridgeProtocols.UNISWAPV3) { + if (dryRun) { + return (0, true); + } + boughtAmount = _tradeUniswapV3(sellToken, sellAmount, order.bridgeData); } else if (protocolId == BridgeProtocols.NERVE) { if (dryRun) { return (0, true); diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol index de7809a9a6..d98b16a946 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol @@ -25,6 +25,7 @@ import "./mixins/MixinKyberElastic.sol"; import "./mixins/MixinMooniswap.sol"; import "./mixins/MixinNerve.sol"; import "./mixins/MixinUniswapV2.sol"; +import "./mixins/MixinUniswapV3.sol"; import "./mixins/MixinWOOFi.sol"; import "./mixins/MixinZeroExBridge.sol"; @@ -38,6 +39,7 @@ contract BSCBridgeAdapter is MixinMooniswap, MixinNerve, MixinUniswapV2, + MixinUniswapV3, MixinWOOFi, MixinZeroExBridge { @@ -61,6 +63,11 @@ contract BSCBridgeAdapter is return (0, true); } boughtAmount = _tradeUniswapV2(buyToken, sellAmount, order.bridgeData); + } else if (protocolId == BridgeProtocols.UNISWAPV3) { + if (dryRun) { + return (0, true); + } + boughtAmount = _tradeUniswapV3(sellToken, sellAmount, order.bridgeData); } else if (protocolId == BridgeProtocols.MOONISWAP) { if (dryRun) { return (0, true); diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinUniswapV3.sol b/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinUniswapV3.sol index 1aedd28cc0..660938a8db 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinUniswapV3.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinUniswapV3.sol @@ -31,6 +31,18 @@ interface IUniswapV3Router { function exactInput(ExactInputParams memory params) external payable returns (uint256 amountOut); } +// https://github.com/Uniswap/swap-router-contracts/blob/main/contracts/interfaces/IV3SwapRouter.sol +interface IUniswapV3Router2 { + struct ExactInputParams { + bytes path; + address recipient; + uint256 amountIn; + uint256 amountOutMinimum; + } + + function exactInput(ExactInputParams memory params) external payable returns (uint256 amountOut); +} + contract MixinUniswapV3 { using LibERC20TokenV06 for IERC20Token; @@ -39,19 +51,30 @@ contract MixinUniswapV3 { uint256 sellAmount, bytes memory bridgeData ) internal returns (uint256 boughtAmount) { - (IUniswapV3Router router, bytes memory path) = abi.decode(bridgeData, (IUniswapV3Router, bytes)); + (address router, bytes memory path, uint256 routerVersion) = abi.decode(bridgeData, (address, bytes, uint256)); // Grant the Uniswap router an allowance to sell the sell token. - sellToken.approveIfBelow(address(router), sellAmount); + sellToken.approveIfBelow(router, sellAmount); - boughtAmount = router.exactInput( - IUniswapV3Router.ExactInputParams({ - path: path, - recipient: address(this), - deadline: block.timestamp, - amountIn: sellAmount, - amountOutMinimum: 1 - }) - ); + if (routerVersion != 2) { + boughtAmount = IUniswapV3Router(router).exactInput( + IUniswapV3Router.ExactInputParams({ + path: path, + recipient: address(this), + deadline: block.timestamp, + amountIn: sellAmount, + amountOutMinimum: 1 + }) + ); + } else { + boughtAmount = IUniswapV3Router2(router).exactInput( + IUniswapV3Router2.ExactInputParams({ + path: path, + recipient: address(this), + amountIn: sellAmount, + amountOutMinimum: 1 + }) + ); + } } } diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 0727fb0311..9fda71f890 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -4,6 +4,9 @@ "changes": [ { "note": "Add Base mainnet addresses" + }, + { + "note": "Add UniswapV3 support in Avalanche and BSC FillQuoteTransformers" } ] }, diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index 82160a8cb6..d423c251b8 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -64,7 +64,7 @@ "wethTransformer": "0xac3d95668c092e895cd83a9cbafe9c7d9906471f", "payTakerTransformer": "0x7e788f3a3e39cdd1944ba111fafc5fb7e59b5e90", "affiliateFeeTransformer": "0x043300d113de0c64684ab89c56a45cd94c7ef54c", - "fillQuoteTransformer": "0x43d10801db01c28093265ef9b77d532e553fa578", + "fillQuoteTransformer": "0xa9c57c539690d4e1439411f648ead5b121b34a23", "positiveSlippageFeeTransformer": "0x6ff35e8cbaf56d8a8f6bf9963b902a4576243030" } }, @@ -156,7 +156,7 @@ "wethTransformer": "0x9b8b52391071d71cd4ad1e61d7f273268fa34c6c", "payTakerTransformer": "0xb9a4c32547bc3cdc2ee2fb13cc1a0717dac9888f", "affiliateFeeTransformer": "0x105679f99d668001370b4621ad8648ac570c860f", - "fillQuoteTransformer": "0x886e4f97d7e06ab66dba574a7a861046dcf7ae4f", + "fillQuoteTransformer": "0x463fe1a80acb62ce1e4f0a4f7b83df674c2cce2c", "positiveSlippageFeeTransformer": "0xadbfdc58a24b6dbc16f21541800f43dd6e282250" } }, From 01e2690b2bbbc542e1bac633bec51bfdedb631d4 Mon Sep 17 00:00:00 2001 From: Kyu Date: Wed, 19 Jul 2023 11:05:51 -0700 Subject: [PATCH 05/21] Check UniswapV3 support on Avalanche and BSC BridgeAdapters (#737) --- .../bridges/AvalancheBridgeAdapterTest.t.sol | 35 +++++++++++++++++++ .../bridges/BSCBridgeAdapterTest.t.sol | 35 +++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 contracts/zero-ex/tests/transformers/bridges/AvalancheBridgeAdapterTest.t.sol create mode 100644 contracts/zero-ex/tests/transformers/bridges/BSCBridgeAdapterTest.t.sol diff --git a/contracts/zero-ex/tests/transformers/bridges/AvalancheBridgeAdapterTest.t.sol b/contracts/zero-ex/tests/transformers/bridges/AvalancheBridgeAdapterTest.t.sol new file mode 100644 index 0000000000..feba5de135 --- /dev/null +++ b/contracts/zero-ex/tests/transformers/bridges/AvalancheBridgeAdapterTest.t.sol @@ -0,0 +1,35 @@ +// 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 "forge-std/Test.sol"; +import "../../../contracts/src/transformers/bridges/AvalancheBridgeAdapter.sol"; +import "../../../contracts/src/transformers/bridges/BridgeProtocols.sol"; + +contract AvalancheBridgeAdapterTest is Test { + address constant WAVAX = 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7; + + AvalancheBridgeAdapter private adapter; + + function setUp() public { + vm.chainId(43114); + adapter = new AvalancheBridgeAdapter(IEtherToken(WAVAX)); + } + + function testSupportsUniswapV3() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.UNISWAPV3) << 128))); + } +} diff --git a/contracts/zero-ex/tests/transformers/bridges/BSCBridgeAdapterTest.t.sol b/contracts/zero-ex/tests/transformers/bridges/BSCBridgeAdapterTest.t.sol new file mode 100644 index 0000000000..5114d5b4a1 --- /dev/null +++ b/contracts/zero-ex/tests/transformers/bridges/BSCBridgeAdapterTest.t.sol @@ -0,0 +1,35 @@ +// 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 "forge-std/Test.sol"; +import "../../../contracts/src/transformers/bridges/BSCBridgeAdapter.sol"; +import "../../../contracts/src/transformers/bridges/BridgeProtocols.sol"; + +contract BSCBridgeAdapterTest is Test { + address constant WBNB = 0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c; + + BSCBridgeAdapter private adapter; + + function setUp() public { + vm.chainId(56); + adapter = new BSCBridgeAdapter(IEtherToken(WBNB)); + } + + function testSupportsUniswapV3() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.UNISWAPV3) << 128))); + } +} From b9e80db17091a89da3624e96513652de831a9ae0 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Wed, 19 Jul 2023 18:30:35 +0000 Subject: [PATCH 06/21] Updated CHANGELOGS & MD docs --- contracts/erc20/CHANGELOG.json | 9 +++++++++ contracts/erc20/CHANGELOG.md | 4 ++++ contracts/test-utils/CHANGELOG.json | 9 +++++++++ contracts/test-utils/CHANGELOG.md | 4 ++++ contracts/treasury/CHANGELOG.json | 9 +++++++++ contracts/treasury/CHANGELOG.md | 4 ++++ contracts/utils/CHANGELOG.json | 9 +++++++++ contracts/utils/CHANGELOG.md | 4 ++++ contracts/zero-ex/CHANGELOG.json | 3 ++- contracts/zero-ex/CHANGELOG.md | 7 +++++++ contracts/zero-ex/test/artifacts.ts | 2 +- packages/contract-addresses/CHANGELOG.json | 3 ++- packages/contract-addresses/CHANGELOG.md | 4 ++++ packages/contract-wrappers/CHANGELOG.json | 9 +++++++++ packages/contract-wrappers/CHANGELOG.md | 3 +++ packages/protocol-utils/CHANGELOG.json | 9 +++++++++ packages/protocol-utils/CHANGELOG.md | 3 +++ 17 files changed, 92 insertions(+), 3 deletions(-) diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index 74eb45c966..a5fa2236dd 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689791426, + "version": "4.0.9", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1683749017, "version": "4.0.8", diff --git a/contracts/erc20/CHANGELOG.md b/contracts/erc20/CHANGELOG.md index 3e5df407d7..9991bfacef 100644 --- a/contracts/erc20/CHANGELOG.md +++ b/contracts/erc20/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.9 - _July 19, 2023_ + + * Dependencies updated + ## v4.0.8 - _May 10, 2023_ * Dependencies updated diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index ce77fa55de..3fc41bafa4 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689791426, + "version": "5.4.55", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1683749017, "version": "5.4.54", diff --git a/contracts/test-utils/CHANGELOG.md b/contracts/test-utils/CHANGELOG.md index 8a4189378e..5807c0c392 100644 --- a/contracts/test-utils/CHANGELOG.md +++ b/contracts/test-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.4.55 - _July 19, 2023_ + + * Dependencies updated + ## v5.4.54 - _May 10, 2023_ * Dependencies updated diff --git a/contracts/treasury/CHANGELOG.json b/contracts/treasury/CHANGELOG.json index 15d4b0f5b4..fc3d0ac94f 100644 --- a/contracts/treasury/CHANGELOG.json +++ b/contracts/treasury/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689791426, + "version": "1.4.49", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1683749017, "version": "1.4.48", diff --git a/contracts/treasury/CHANGELOG.md b/contracts/treasury/CHANGELOG.md index 63973fbfe0..88c163c24c 100644 --- a/contracts/treasury/CHANGELOG.md +++ b/contracts/treasury/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.4.49 - _July 19, 2023_ + + * Dependencies updated + ## v1.4.48 - _May 10, 2023_ * Dependencies updated diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index cd6f1de357..e3cc08a513 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689791426, + "version": "4.8.47", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1683749017, "version": "4.8.46", diff --git a/contracts/utils/CHANGELOG.md b/contracts/utils/CHANGELOG.md index 54ba0a4db1..f0bd2e1a2c 100644 --- a/contracts/utils/CHANGELOG.md +++ b/contracts/utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.8.47 - _July 19, 2023_ + + * Dependencies updated + ## v4.8.46 - _May 10, 2023_ * Dependencies updated diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 97bbaafc6b..5a93f0f507 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -14,7 +14,8 @@ { "note": "Add Uniswap V3 support on Avalanche and BSC" } - ] + ], + "timestamp": 1689791426 }, { "version": "0.44.0", diff --git a/contracts/zero-ex/CHANGELOG.md b/contracts/zero-ex/CHANGELOG.md index b2a79a29bd..897dc68abf 100644 --- a/contracts/zero-ex/CHANGELOG.md +++ b/contracts/zero-ex/CHANGELOG.md @@ -5,6 +5,13 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.45.0 - _July 19, 2023_ + + * Remove Bancor V1 support + * Remove Shell and MStable support + * Add Base Mainnet and Goerli BridgeAdapters + * Add Uniswap V3 support on Avalanche and BSC + ## v0.44.0 - _May 10, 2023_ * Add Trader Joe V2 MixIn to Arbitrum diff --git a/contracts/zero-ex/test/artifacts.ts b/contracts/zero-ex/test/artifacts.ts index f8b6a316bd..c3de614bcb 100644 --- a/contracts/zero-ex/test/artifacts.ts +++ b/contracts/zero-ex/test/artifacts.ts @@ -320,9 +320,9 @@ export const artifacts = { AbstractBridgeAdapter: AbstractBridgeAdapter as ContractArtifact, ArbitrumBridgeAdapter: ArbitrumBridgeAdapter as ContractArtifact, AvalancheBridgeAdapter: AvalancheBridgeAdapter as ContractArtifact, + BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, BaseBridgeAdapter: BaseBridgeAdapter as ContractArtifact, BaseGoerliBridgeAdapter: BaseGoerliBridgeAdapter as ContractArtifact, - BSCBridgeAdapter: BSCBridgeAdapter as ContractArtifact, BridgeProtocols: BridgeProtocols as ContractArtifact, CeloBridgeAdapter: CeloBridgeAdapter as ContractArtifact, EthereumBridgeAdapter: EthereumBridgeAdapter as ContractArtifact, diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 9fda71f890..ba7ef252d0 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -8,7 +8,8 @@ { "note": "Add UniswapV3 support in Avalanche and BSC FillQuoteTransformers" } - ] + ], + "timestamp": 1689791426 }, { "version": "8.7.0", diff --git a/packages/contract-addresses/CHANGELOG.md b/packages/contract-addresses/CHANGELOG.md index 09b910ff6a..03999c699e 100644 --- a/packages/contract-addresses/CHANGELOG.md +++ b/packages/contract-addresses/CHANGELOG.md @@ -6,6 +6,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v8.8.0 - _July 19, 2023_ + + * Add Base mainnet addresses + * Add UniswapV3 support in Avalanche and BSC FillQuoteTransformers ## v8.7.0 - _May 10, 2023_ * Add Trader Joe V2 MixIn to Arbitrum diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 6fd50750c0..f810b35fb6 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689791426, + "version": "13.23.3", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1683749017, "version": "13.23.2", diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index 15c893c698..e76147e615 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v13.23.3 - _July 19, 2023_ + + * Dependencies updated ## v13.23.2 - _May 10, 2023_ * Dependencies updated diff --git a/packages/protocol-utils/CHANGELOG.json b/packages/protocol-utils/CHANGELOG.json index 3f3c95be51..de8cd7ff08 100644 --- a/packages/protocol-utils/CHANGELOG.json +++ b/packages/protocol-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689791426, + "version": "11.22.3", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1683749017, "version": "11.22.2", diff --git a/packages/protocol-utils/CHANGELOG.md b/packages/protocol-utils/CHANGELOG.md index e606922b5f..d65b668e09 100644 --- a/packages/protocol-utils/CHANGELOG.md +++ b/packages/protocol-utils/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v11.22.3 - _July 19, 2023_ + + * Dependencies updated ## v11.22.2 - _May 10, 2023_ * Dependencies updated From 8c9917bf03ddcdb77810ebaccefcc24bd07f659f Mon Sep 17 00:00:00 2001 From: Github Actions Date: Wed, 19 Jul 2023 18:30:39 +0000 Subject: [PATCH 07/21] Publish - @0x/contracts-erc20@4.0.9 - @0x/contracts-test-utils@5.4.55 - @0x/contracts-treasury@1.4.49 - @0x/contracts-utils@4.8.47 - @0x/contracts-zero-ex@0.45.0 - @0x/contract-addresses@8.8.0 - @0x/contract-wrappers@13.23.3 - @0x/protocol-utils@11.22.3 --- contracts/erc20/package.json | 4 ++-- contracts/test-utils/package.json | 4 ++-- contracts/treasury/package.json | 8 ++++---- contracts/utils/package.json | 4 ++-- contracts/zero-ex/package.json | 8 ++++---- packages/contract-addresses/package.json | 2 +- packages/contract-wrappers/package.json | 4 ++-- packages/protocol-utils/package.json | 6 +++--- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index ec7636ba3e..dc3c8c6214 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc20", - "version": "4.0.8", + "version": "4.0.9", "engines": { "node": ">=6.12" }, @@ -24,7 +24,7 @@ }, "homepage": "https://github.com/0xProject/protocol", "devDependencies": { - "@0x/contracts-utils": "^4.8.46", + "@0x/contracts-utils": "^4.8.47", "@0x/ts-doc-gen": "^0.0.28", "typedoc": "~0.16.11" }, diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index bd14f54eee..c4c08393ce 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-test-utils", - "version": "5.4.54", + "version": "5.4.55", "engines": { "node": ">=6.12" }, @@ -41,7 +41,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.7.0", + "@0x/contract-addresses": "^8.8.0", "@0x/dev-utils": "^5.0.2", "@0x/json-schemas": "^6.4.4", "@0x/order-utils": "^10.4.28", diff --git a/contracts/treasury/package.json b/contracts/treasury/package.json index 48a9ee05cd..34cdd2e364 100644 --- a/contracts/treasury/package.json +++ b/contracts/treasury/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-treasury", - "version": "1.4.48", + "version": "1.4.49", "engines": { "node": ">=6.12" }, @@ -46,12 +46,12 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/treasury", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.7.0", + "@0x/contract-addresses": "^8.8.0", "@0x/contracts-asset-proxy": "^3.7.19", "@0x/contracts-erc20": "3.3.57", "@0x/contracts-gen": "^2.0.50", "@0x/contracts-staking": "^2.0.45", - "@0x/contracts-test-utils": "^5.4.54", + "@0x/contracts-test-utils": "^5.4.55", "@0x/sol-compiler": "^4.8.2", "@0x/ts-doc-gen": "^0.0.28", "@types/isomorphic-fetch": "^0.0.35", @@ -73,7 +73,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.22.2", + "@0x/protocol-utils": "^11.22.3", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/contracts/utils/package.json b/contracts/utils/package.json index fc02b5bbe1..096fc98432 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-utils", - "version": "4.8.46", + "version": "4.8.47", "engines": { "node": ">=6.12" }, @@ -45,7 +45,7 @@ "devDependencies": { "@0x/abi-gen": "^5.8.5", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.54", + "@0x/contracts-test-utils": "^5.4.55", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", diff --git a/contracts/zero-ex/package.json b/contracts/zero-ex/package.json index e0abf01710..5e21d36760 100644 --- a/contracts/zero-ex/package.json +++ b/contracts/zero-ex/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-zero-ex", - "version": "0.44.0", + "version": "0.45.0", "engines": { "node": ">=6.12" }, @@ -51,10 +51,10 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/zero-ex", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.7.0", + "@0x/contract-addresses": "^8.8.0", "@0x/contracts-erc20": "^3.3.57", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.54", + "@0x/contracts-test-utils": "^5.4.55", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", @@ -80,7 +80,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.22.2", + "@0x/protocol-utils": "^11.22.3", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/packages/contract-addresses/package.json b/packages/contract-addresses/package.json index c88e0da621..b06667c74b 100644 --- a/packages/contract-addresses/package.json +++ b/packages/contract-addresses/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-addresses", - "version": "8.7.0", + "version": "8.8.0", "engines": { "node": ">=6.12" }, diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index 4efaec9a81..e7cacd4b0d 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "13.23.2", + "version": "13.23.3", "engines": { "node": ">=6.12" }, @@ -59,7 +59,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.7.0", + "@0x/contract-addresses": "^8.8.0", "@0x/json-schemas": "^6.4.4", "@0x/types": "^3.3.7", "@0x/utils": "^7.0.0", diff --git a/packages/protocol-utils/package.json b/packages/protocol-utils/package.json index b14e55a128..c7e4aa761e 100644 --- a/packages/protocol-utils/package.json +++ b/packages/protocol-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/protocol-utils", - "version": "11.22.2", + "version": "11.22.3", "engines": { "node": ">=6.12" }, @@ -62,8 +62,8 @@ }, "dependencies": { "@0x/assert": "^3.0.36", - "@0x/contract-addresses": "^8.7.0", - "@0x/contract-wrappers": "^13.23.2", + "@0x/contract-addresses": "^8.8.0", + "@0x/contract-wrappers": "^13.23.3", "@0x/json-schemas": "^6.4.4", "@0x/subproviders": "^8.0.1", "@0x/utils": "^7.0.0", From 51fa55badd5c7abd6e4cc49cdef9ec5174384776 Mon Sep 17 00:00:00 2001 From: Kyu Date: Fri, 21 Jul 2023 13:58:04 -0700 Subject: [PATCH 08/21] Update Base FillQuoteTransformer address (#738) --- packages/contract-addresses/CHANGELOG.json | 8 ++++++++ packages/contract-addresses/addresses.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index ba7ef252d0..fefed3f3fd 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "8.9.0", + "changes": [ + { + "note": "Add Uniswap V3 router v2 support in Base FillQuoteTransformer" + } + ] + }, { "version": "8.8.0", "changes": [ diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index d423c251b8..552efc4e41 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -271,7 +271,7 @@ "wethTransformer": "0x63186ea36e78ecbf0128e448362f1b81e9bf7412", "payTakerTransformer": "0x5cc22a0e06ea11097c612a962e63674b90e96099", "affiliateFeeTransformer": "0x9e52d8b32d835206d09810c310593bcc77264066", - "fillQuoteTransformer": "0x44e0f3975e95387f3866dd7cab1f51050394a3d1", + "fillQuoteTransformer": "0x98b159db76c820dc877782f199e287a97420b1d2", "positiveSlippageFeeTransformer": "0xf98a130d3b4029c70e6d93098cb82a003421341e" } } From 262d2a80896c6036db9d340602605a2788b0aec4 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Fri, 21 Jul 2023 21:28:43 +0000 Subject: [PATCH 09/21] Updated CHANGELOGS & MD docs --- contracts/erc20/CHANGELOG.json | 9 +++++++++ contracts/erc20/CHANGELOG.md | 4 ++++ contracts/test-utils/CHANGELOG.json | 9 +++++++++ contracts/test-utils/CHANGELOG.md | 4 ++++ contracts/treasury/CHANGELOG.json | 9 +++++++++ contracts/treasury/CHANGELOG.md | 4 ++++ contracts/utils/CHANGELOG.json | 9 +++++++++ contracts/utils/CHANGELOG.md | 4 ++++ contracts/zero-ex/CHANGELOG.json | 9 +++++++++ contracts/zero-ex/CHANGELOG.md | 4 ++++ packages/contract-addresses/CHANGELOG.json | 3 ++- packages/contract-addresses/CHANGELOG.md | 3 +++ packages/contract-wrappers/CHANGELOG.json | 9 +++++++++ packages/contract-wrappers/CHANGELOG.md | 3 +++ packages/protocol-utils/CHANGELOG.json | 9 +++++++++ packages/protocol-utils/CHANGELOG.md | 3 +++ 16 files changed, 94 insertions(+), 1 deletion(-) diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index a5fa2236dd..fef59c3a65 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689974915, + "version": "4.0.10", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689791426, "version": "4.0.9", diff --git a/contracts/erc20/CHANGELOG.md b/contracts/erc20/CHANGELOG.md index 9991bfacef..0bc719774a 100644 --- a/contracts/erc20/CHANGELOG.md +++ b/contracts/erc20/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.10 - _July 21, 2023_ + + * Dependencies updated + ## v4.0.9 - _July 19, 2023_ * Dependencies updated diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 3fc41bafa4..8b36a40d3f 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689974915, + "version": "5.4.56", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689791426, "version": "5.4.55", diff --git a/contracts/test-utils/CHANGELOG.md b/contracts/test-utils/CHANGELOG.md index 5807c0c392..6c95471dba 100644 --- a/contracts/test-utils/CHANGELOG.md +++ b/contracts/test-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.4.56 - _July 21, 2023_ + + * Dependencies updated + ## v5.4.55 - _July 19, 2023_ * Dependencies updated diff --git a/contracts/treasury/CHANGELOG.json b/contracts/treasury/CHANGELOG.json index fc3d0ac94f..90989a9b51 100644 --- a/contracts/treasury/CHANGELOG.json +++ b/contracts/treasury/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689974915, + "version": "1.4.50", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689791426, "version": "1.4.49", diff --git a/contracts/treasury/CHANGELOG.md b/contracts/treasury/CHANGELOG.md index 88c163c24c..8325c02c1f 100644 --- a/contracts/treasury/CHANGELOG.md +++ b/contracts/treasury/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.4.50 - _July 21, 2023_ + + * Dependencies updated + ## v1.4.49 - _July 19, 2023_ * Dependencies updated diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index e3cc08a513..43303297eb 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689974915, + "version": "4.8.48", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689791426, "version": "4.8.47", diff --git a/contracts/utils/CHANGELOG.md b/contracts/utils/CHANGELOG.md index f0bd2e1a2c..90db0fbfa3 100644 --- a/contracts/utils/CHANGELOG.md +++ b/contracts/utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.8.48 - _July 21, 2023_ + + * Dependencies updated + ## v4.8.47 - _July 19, 2023_ * Dependencies updated diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 5a93f0f507..771ad0a974 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689974915, + "version": "0.45.1", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "0.45.0", "changes": [ diff --git a/contracts/zero-ex/CHANGELOG.md b/contracts/zero-ex/CHANGELOG.md index 897dc68abf..9a22e8b2fe 100644 --- a/contracts/zero-ex/CHANGELOG.md +++ b/contracts/zero-ex/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.45.1 - _July 21, 2023_ + + * Dependencies updated + ## v0.45.0 - _July 19, 2023_ * Remove Bancor V1 support diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index fefed3f3fd..e759b9196d 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Add Uniswap V3 router v2 support in Base FillQuoteTransformer" } - ] + ], + "timestamp": 1689974915 }, { "version": "8.8.0", diff --git a/packages/contract-addresses/CHANGELOG.md b/packages/contract-addresses/CHANGELOG.md index 03999c699e..35b6a94ede 100644 --- a/packages/contract-addresses/CHANGELOG.md +++ b/packages/contract-addresses/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v8.9.0 - _July 21, 2023_ + + * Add Uniswap V3 router v2 support in Base FillQuoteTransformer ## v8.8.0 - _July 19, 2023_ * Add Base mainnet addresses diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index f810b35fb6..c21bc5de80 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689974915, + "version": "13.23.4", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689791426, "version": "13.23.3", diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index e76147e615..d1c679466e 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v13.23.4 - _July 21, 2023_ + + * Dependencies updated ## v13.23.3 - _July 19, 2023_ * Dependencies updated diff --git a/packages/protocol-utils/CHANGELOG.json b/packages/protocol-utils/CHANGELOG.json index de8cd7ff08..9dce6df132 100644 --- a/packages/protocol-utils/CHANGELOG.json +++ b/packages/protocol-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1689974915, + "version": "11.22.4", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689791426, "version": "11.22.3", diff --git a/packages/protocol-utils/CHANGELOG.md b/packages/protocol-utils/CHANGELOG.md index d65b668e09..0124f60cf2 100644 --- a/packages/protocol-utils/CHANGELOG.md +++ b/packages/protocol-utils/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v11.22.4 - _July 21, 2023_ + + * Dependencies updated ## v11.22.3 - _July 19, 2023_ * Dependencies updated From 33ece5aa9954aa434382b06c22ff3c71d6d8d089 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Fri, 21 Jul 2023 21:28:47 +0000 Subject: [PATCH 10/21] Publish - @0x/contracts-erc20@4.0.10 - @0x/contracts-test-utils@5.4.56 - @0x/contracts-treasury@1.4.50 - @0x/contracts-utils@4.8.48 - @0x/contracts-zero-ex@0.45.1 - @0x/contract-addresses@8.9.0 - @0x/contract-wrappers@13.23.4 - @0x/protocol-utils@11.22.4 --- contracts/erc20/package.json | 4 ++-- contracts/test-utils/package.json | 4 ++-- contracts/treasury/package.json | 8 ++++---- contracts/utils/package.json | 4 ++-- contracts/zero-ex/package.json | 8 ++++---- packages/contract-addresses/package.json | 2 +- packages/contract-wrappers/package.json | 4 ++-- packages/protocol-utils/package.json | 6 +++--- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index dc3c8c6214..b0a467e5ca 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc20", - "version": "4.0.9", + "version": "4.0.10", "engines": { "node": ">=6.12" }, @@ -24,7 +24,7 @@ }, "homepage": "https://github.com/0xProject/protocol", "devDependencies": { - "@0x/contracts-utils": "^4.8.47", + "@0x/contracts-utils": "^4.8.48", "@0x/ts-doc-gen": "^0.0.28", "typedoc": "~0.16.11" }, diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index c4c08393ce..bc4f571ce1 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-test-utils", - "version": "5.4.55", + "version": "5.4.56", "engines": { "node": ">=6.12" }, @@ -41,7 +41,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.8.0", + "@0x/contract-addresses": "^8.9.0", "@0x/dev-utils": "^5.0.2", "@0x/json-schemas": "^6.4.4", "@0x/order-utils": "^10.4.28", diff --git a/contracts/treasury/package.json b/contracts/treasury/package.json index 34cdd2e364..689e2e6638 100644 --- a/contracts/treasury/package.json +++ b/contracts/treasury/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-treasury", - "version": "1.4.49", + "version": "1.4.50", "engines": { "node": ">=6.12" }, @@ -46,12 +46,12 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/treasury", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.8.0", + "@0x/contract-addresses": "^8.9.0", "@0x/contracts-asset-proxy": "^3.7.19", "@0x/contracts-erc20": "3.3.57", "@0x/contracts-gen": "^2.0.50", "@0x/contracts-staking": "^2.0.45", - "@0x/contracts-test-utils": "^5.4.55", + "@0x/contracts-test-utils": "^5.4.56", "@0x/sol-compiler": "^4.8.2", "@0x/ts-doc-gen": "^0.0.28", "@types/isomorphic-fetch": "^0.0.35", @@ -73,7 +73,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.22.3", + "@0x/protocol-utils": "^11.22.4", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/contracts/utils/package.json b/contracts/utils/package.json index 096fc98432..24445302df 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-utils", - "version": "4.8.47", + "version": "4.8.48", "engines": { "node": ">=6.12" }, @@ -45,7 +45,7 @@ "devDependencies": { "@0x/abi-gen": "^5.8.5", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.55", + "@0x/contracts-test-utils": "^5.4.56", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", diff --git a/contracts/zero-ex/package.json b/contracts/zero-ex/package.json index 5e21d36760..ad34ec90e4 100644 --- a/contracts/zero-ex/package.json +++ b/contracts/zero-ex/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-zero-ex", - "version": "0.45.0", + "version": "0.45.1", "engines": { "node": ">=6.12" }, @@ -51,10 +51,10 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/zero-ex", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.8.0", + "@0x/contract-addresses": "^8.9.0", "@0x/contracts-erc20": "^3.3.57", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.55", + "@0x/contracts-test-utils": "^5.4.56", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", @@ -80,7 +80,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.22.3", + "@0x/protocol-utils": "^11.22.4", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/packages/contract-addresses/package.json b/packages/contract-addresses/package.json index b06667c74b..57d88fe01e 100644 --- a/packages/contract-addresses/package.json +++ b/packages/contract-addresses/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-addresses", - "version": "8.8.0", + "version": "8.9.0", "engines": { "node": ">=6.12" }, diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index e7cacd4b0d..a451cef186 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "13.23.3", + "version": "13.23.4", "engines": { "node": ">=6.12" }, @@ -59,7 +59,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.8.0", + "@0x/contract-addresses": "^8.9.0", "@0x/json-schemas": "^6.4.4", "@0x/types": "^3.3.7", "@0x/utils": "^7.0.0", diff --git a/packages/protocol-utils/package.json b/packages/protocol-utils/package.json index c7e4aa761e..2a8df6553a 100644 --- a/packages/protocol-utils/package.json +++ b/packages/protocol-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/protocol-utils", - "version": "11.22.3", + "version": "11.22.4", "engines": { "node": ">=6.12" }, @@ -62,8 +62,8 @@ }, "dependencies": { "@0x/assert": "^3.0.36", - "@0x/contract-addresses": "^8.8.0", - "@0x/contract-wrappers": "^13.23.3", + "@0x/contract-addresses": "^8.9.0", + "@0x/contract-wrappers": "^13.23.4", "@0x/json-schemas": "^6.4.4", "@0x/subproviders": "^8.0.1", "@0x/utils": "^7.0.0", From 43e3dce9651718e542a0f50f8a23de229c0ca04d Mon Sep 17 00:00:00 2001 From: "Savarn Dontamsetti (Sav)" Date: Tue, 8 Aug 2023 16:20:03 -0400 Subject: [PATCH 11/21] Adding support for Velodrome V2 on Optimism (#739) * Adding support for Velodrome V2 for Optimism --- contracts/zero-ex/CHANGELOG.json | 8 +++ .../transformers/bridges/BridgeProtocols.sol | 1 + .../bridges/OptimismBridgeAdapter.sol | 7 ++ .../bridges/mixins/MixinVelodromeV2.sol | 69 +++++++++++++++++++ packages/contract-addresses/CHANGELOG.json | 8 +++ packages/contract-addresses/addresses.json | 2 +- packages/protocol-utils/CHANGELOG.json | 8 +++ .../protocol-utils/src/transformer_utils.ts | 1 + 8 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinVelodromeV2.sol diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 771ad0a974..fd3c28549e 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "0.46.0", + "changes": [ + { + "note": "Add VelodromeV2 support on Optimism" + } + ] + }, { "timestamp": 1689974915, "version": "0.45.1", diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol index 85e5897219..df9e69a9f9 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol @@ -57,4 +57,5 @@ library BridgeProtocols { uint128 internal constant KYBERELASTIC = 33; uint128 internal constant BARTER = 34; uint128 internal constant TRADERJOEV2 = 35; + uint128 internal constant VELODROMEV2 = 36; } diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/OptimismBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/OptimismBridgeAdapter.sol index 224dd6f9d4..82081a15ca 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/OptimismBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/OptimismBridgeAdapter.sol @@ -26,6 +26,7 @@ import "./mixins/MixinNerve.sol"; import "./mixins/MixinSolidly.sol"; import "./mixins/MixinSynthetix.sol"; import "./mixins/MixinUniswapV3.sol"; +import "./mixins/MixinVelodromeV2.sol"; import "./mixins/MixinWOOFi.sol"; import "./mixins/MixinZeroExBridge.sol"; @@ -39,6 +40,7 @@ contract OptimismBridgeAdapter is MixinNerve, MixinSynthetix, MixinUniswapV3, + MixinVelodromeV2, MixinSolidly, MixinWOOFi, MixinZeroExBridge @@ -109,6 +111,11 @@ contract OptimismBridgeAdapter is return (0, true); } boughtAmount = _tradeKyberElastic(sellToken, sellAmount, order.bridgeData); + } else if (protocolId == BridgeProtocols.VELODROMEV2) { + if (dryRun) { + return (0, true); + } + boughtAmount = _tradeVelodromeV2(sellToken, sellAmount, order.bridgeData); } emit BridgeFill(order.source, sellToken, buyToken, sellAmount, boughtAmount); diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinVelodromeV2.sol b/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinVelodromeV2.sol new file mode 100644 index 0000000000..baa34ccc92 --- /dev/null +++ b/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinVelodromeV2.sol @@ -0,0 +1,69 @@ +// 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 "@0x/contracts-erc20/src/v06/LibERC20TokenV06.sol"; +import "@0x/contracts-erc20/src/IERC20Token.sol"; + +interface IVelodromeV2Router { + struct Route { + address from; + address to; + bool stable; + address factory; + } + + /// @notice Swap one token for another + /// @param amountIn Amount of token in + /// @param amountOutMin Minimum amount of desired token received + /// @param routes Array of trade routes used in the swap + /// @param to Recipient of the tokens received + /// @param deadline Deadline to receive tokens + /// @return amounts Array of amounts returned per route + function swapExactTokensForTokens( + uint256 amountIn, + uint256 amountOutMin, + Route[] calldata routes, + address to, + uint256 deadline + ) external returns (uint256[] memory amounts); +} + +contract MixinVelodromeV2 { + using LibERC20TokenV06 for IERC20Token; + + function _tradeVelodromeV2( + IERC20Token sellToken, + uint256 sellAmount, + bytes memory bridgeData + ) internal returns (uint256 boughtAmount) { + (IVelodromeV2Router router, IVelodromeV2Router.Route[] memory routes) = abi.decode( + bridgeData, + (IVelodromeV2Router, IVelodromeV2Router.Route[]) + ); + sellToken.approveIfBelow(address(router), sellAmount); + + uint256[] memory amounts = router.swapExactTokensForTokens( + sellAmount, + 1, + routes, + address(this), + block.timestamp + 1 + ); + + return amounts[amounts.length - 1]; + } +} diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index e759b9196d..487ffcde4f 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "8.10.0", + "changes": [ + { + "note": "Add VelodromeV2 support on Optimism" + } + ] + }, { "version": "8.9.0", "changes": [ diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index 552efc4e41..8c22c0f1ea 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -225,7 +225,7 @@ "wethTransformer": "0x02ce7af6520e2862f961f5d7eda746642865179c", "payTakerTransformer": "0xa6c3ca183a67fcb4299fb4199c12ca74874ca489", "affiliateFeeTransformer": "0x3102aea537ecb6f164550b094663c82a8c53a972", - "fillQuoteTransformer": "0xd140adb61d4e3e3978d4f32ac6b92240ff6e3a6e", + "fillQuoteTransformer": "0x521f3184ab27abde4a34e744a908b1a08dc8ef91", "positiveSlippageFeeTransformer": "0x9a4947d3fb77a7afc2c9cd6714bbae96dddde059" } }, diff --git a/packages/protocol-utils/CHANGELOG.json b/packages/protocol-utils/CHANGELOG.json index 9dce6df132..d8c7c835c3 100644 --- a/packages/protocol-utils/CHANGELOG.json +++ b/packages/protocol-utils/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "11.23.0", + "changes": [ + { + "note": "Add VelodromeV2 support on Optimism" + } + ] + }, { "timestamp": 1689974915, "version": "11.22.4", diff --git a/packages/protocol-utils/src/transformer_utils.ts b/packages/protocol-utils/src/transformer_utils.ts index ec875941da..c6f9e5fcb3 100644 --- a/packages/protocol-utils/src/transformer_utils.ts +++ b/packages/protocol-utils/src/transformer_utils.ts @@ -166,6 +166,7 @@ export enum BridgeProtocol { KyberElastic, Barter, TraderJoeV2, + VelodromeV2, } /** From 19e0c3364a267ef98c9ea936fe26097543e1cedd Mon Sep 17 00:00:00 2001 From: "Savarn Dontamsetti (Sav)" Date: Wed, 9 Aug 2023 10:37:13 -0400 Subject: [PATCH 12/21] Add Velodrome V2 compatibility test to Optimism Bridge Adapter Test (#740) * Add Velodrome V2 compatibility test to Optimism Bridge Adapter Test * Replace Avalanche Bridge Adapter with Optimism Bridge Adapter --- .../bridges/OptimismBridgeAdapterTest.t.sol | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 contracts/zero-ex/tests/transformers/bridges/OptimismBridgeAdapterTest.t.sol diff --git a/contracts/zero-ex/tests/transformers/bridges/OptimismBridgeAdapterTest.t.sol b/contracts/zero-ex/tests/transformers/bridges/OptimismBridgeAdapterTest.t.sol new file mode 100644 index 0000000000..d82758d7c0 --- /dev/null +++ b/contracts/zero-ex/tests/transformers/bridges/OptimismBridgeAdapterTest.t.sol @@ -0,0 +1,35 @@ +// 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 "forge-std/Test.sol"; +import "../../../contracts/src/transformers/bridges/OptimismBridgeAdapter.sol"; +import "../../../contracts/src/transformers/bridges/BridgeProtocols.sol"; + +contract OptimismBridgeAdapterTest is Test { + address constant WETH = 0x4200000000000000000000000000000000000006; + + OptimismBridgeAdapter private adapter; + + function setUp() public { + vm.chainId(10); + adapter = new OptimismBridgeAdapter(IEtherToken(WETH)); + } + + function testSupportVelodromeV2() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.VELODROMEV2) << 128))); + } +} From 3c98225720ce9e1c87b59547f9be90e76ec834bb Mon Sep 17 00:00:00 2001 From: Github Actions Date: Wed, 9 Aug 2023 21:43:23 +0000 Subject: [PATCH 13/21] Updated CHANGELOGS & MD docs --- contracts/erc20/CHANGELOG.json | 9 +++++++++ contracts/erc20/CHANGELOG.md | 4 ++++ contracts/test-utils/CHANGELOG.json | 9 +++++++++ contracts/test-utils/CHANGELOG.md | 4 ++++ contracts/treasury/CHANGELOG.json | 9 +++++++++ contracts/treasury/CHANGELOG.md | 4 ++++ contracts/utils/CHANGELOG.json | 9 +++++++++ contracts/utils/CHANGELOG.md | 4 ++++ contracts/zero-ex/CHANGELOG.json | 3 ++- contracts/zero-ex/CHANGELOG.md | 4 ++++ packages/contract-addresses/CHANGELOG.json | 15 ++++++++------- packages/contract-addresses/CHANGELOG.md | 3 +++ packages/contract-wrappers/CHANGELOG.json | 9 +++++++++ packages/contract-wrappers/CHANGELOG.md | 3 +++ packages/protocol-utils/CHANGELOG.json | 15 ++++++++------- packages/protocol-utils/CHANGELOG.md | 3 +++ 16 files changed, 92 insertions(+), 15 deletions(-) diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index fef59c3a65..e1a725c3c8 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1691617396, + "version": "4.0.11", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689974915, "version": "4.0.10", diff --git a/contracts/erc20/CHANGELOG.md b/contracts/erc20/CHANGELOG.md index 0bc719774a..b3093728d0 100644 --- a/contracts/erc20/CHANGELOG.md +++ b/contracts/erc20/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.11 - _August 9, 2023_ + + * Dependencies updated + ## v4.0.10 - _July 21, 2023_ * Dependencies updated diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 8b36a40d3f..2aae15e18c 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1691617396, + "version": "5.4.57", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689974915, "version": "5.4.56", diff --git a/contracts/test-utils/CHANGELOG.md b/contracts/test-utils/CHANGELOG.md index 6c95471dba..186658de4a 100644 --- a/contracts/test-utils/CHANGELOG.md +++ b/contracts/test-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.4.57 - _August 9, 2023_ + + * Dependencies updated + ## v5.4.56 - _July 21, 2023_ * Dependencies updated diff --git a/contracts/treasury/CHANGELOG.json b/contracts/treasury/CHANGELOG.json index 90989a9b51..9da396ae01 100644 --- a/contracts/treasury/CHANGELOG.json +++ b/contracts/treasury/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1691617396, + "version": "1.4.51", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689974915, "version": "1.4.50", diff --git a/contracts/treasury/CHANGELOG.md b/contracts/treasury/CHANGELOG.md index 8325c02c1f..c5aa850d74 100644 --- a/contracts/treasury/CHANGELOG.md +++ b/contracts/treasury/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.4.51 - _August 9, 2023_ + + * Dependencies updated + ## v1.4.50 - _July 21, 2023_ * Dependencies updated diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index 43303297eb..3df115f57e 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1691617396, + "version": "4.8.49", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689974915, "version": "4.8.48", diff --git a/contracts/utils/CHANGELOG.md b/contracts/utils/CHANGELOG.md index 90db0fbfa3..bcebaaed34 100644 --- a/contracts/utils/CHANGELOG.md +++ b/contracts/utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.8.49 - _August 9, 2023_ + + * Dependencies updated + ## v4.8.48 - _July 21, 2023_ * Dependencies updated diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index fd3c28549e..ec297f6a74 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Add VelodromeV2 support on Optimism" } - ] + ], + "timestamp": 1691617396 }, { "timestamp": 1689974915, diff --git a/contracts/zero-ex/CHANGELOG.md b/contracts/zero-ex/CHANGELOG.md index 9a22e8b2fe..9e854bd2f1 100644 --- a/contracts/zero-ex/CHANGELOG.md +++ b/contracts/zero-ex/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.46.0 - _August 9, 2023_ + + * Add VelodromeV2 support on Optimism + ## v0.45.1 - _July 21, 2023_ * Dependencies updated diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 487ffcde4f..efbba79c57 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,12 +1,13 @@ [ { - "version": "8.10.0", - "changes": [ - { - "note": "Add VelodromeV2 support on Optimism" - } - ] - }, + "version": "8.10.0", + "changes": [ + { + "note": "Add VelodromeV2 support on Optimism" + } + ], + "timestamp": 1691617396 + }, { "version": "8.9.0", "changes": [ diff --git a/packages/contract-addresses/CHANGELOG.md b/packages/contract-addresses/CHANGELOG.md index 35b6a94ede..1b2e468187 100644 --- a/packages/contract-addresses/CHANGELOG.md +++ b/packages/contract-addresses/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v8.10.0 - _August 9, 2023_ + + * Add VelodromeV2 support on Optimism ## v8.9.0 - _July 21, 2023_ * Add Uniswap V3 router v2 support in Base FillQuoteTransformer diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index c21bc5de80..0c61209fda 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1691617396, + "version": "13.23.5", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1689974915, "version": "13.23.4", diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index d1c679466e..f962396e10 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v13.23.5 - _August 9, 2023_ + + * Dependencies updated ## v13.23.4 - _July 21, 2023_ * Dependencies updated diff --git a/packages/protocol-utils/CHANGELOG.json b/packages/protocol-utils/CHANGELOG.json index d8c7c835c3..7c35639d90 100644 --- a/packages/protocol-utils/CHANGELOG.json +++ b/packages/protocol-utils/CHANGELOG.json @@ -1,12 +1,13 @@ [ { - "version": "11.23.0", - "changes": [ - { - "note": "Add VelodromeV2 support on Optimism" - } - ] - }, + "version": "11.23.0", + "changes": [ + { + "note": "Add VelodromeV2 support on Optimism" + } + ], + "timestamp": 1691617396 + }, { "timestamp": 1689974915, "version": "11.22.4", diff --git a/packages/protocol-utils/CHANGELOG.md b/packages/protocol-utils/CHANGELOG.md index 0124f60cf2..d8f9ac9e46 100644 --- a/packages/protocol-utils/CHANGELOG.md +++ b/packages/protocol-utils/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v11.23.0 - _August 9, 2023_ + + * Add VelodromeV2 support on Optimism ## v11.22.4 - _July 21, 2023_ * Dependencies updated From e1f9e107e996837182b8bb089bca9a4161bf64a0 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Wed, 9 Aug 2023 21:43:27 +0000 Subject: [PATCH 14/21] Publish - @0x/contracts-erc20@4.0.11 - @0x/contracts-test-utils@5.4.57 - @0x/contracts-treasury@1.4.51 - @0x/contracts-utils@4.8.49 - @0x/contracts-zero-ex@0.46.0 - @0x/contract-addresses@8.10.0 - @0x/contract-wrappers@13.23.5 - @0x/protocol-utils@11.23.0 --- contracts/erc20/package.json | 4 ++-- contracts/test-utils/package.json | 4 ++-- contracts/treasury/package.json | 8 ++++---- contracts/utils/package.json | 4 ++-- contracts/zero-ex/package.json | 8 ++++---- packages/contract-addresses/package.json | 2 +- packages/contract-wrappers/package.json | 4 ++-- packages/protocol-utils/package.json | 6 +++--- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index b0a467e5ca..8e8f5b28ab 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc20", - "version": "4.0.10", + "version": "4.0.11", "engines": { "node": ">=6.12" }, @@ -24,7 +24,7 @@ }, "homepage": "https://github.com/0xProject/protocol", "devDependencies": { - "@0x/contracts-utils": "^4.8.48", + "@0x/contracts-utils": "^4.8.49", "@0x/ts-doc-gen": "^0.0.28", "typedoc": "~0.16.11" }, diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index bc4f571ce1..44297bd711 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-test-utils", - "version": "5.4.56", + "version": "5.4.57", "engines": { "node": ">=6.12" }, @@ -41,7 +41,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.9.0", + "@0x/contract-addresses": "^8.10.0", "@0x/dev-utils": "^5.0.2", "@0x/json-schemas": "^6.4.4", "@0x/order-utils": "^10.4.28", diff --git a/contracts/treasury/package.json b/contracts/treasury/package.json index 689e2e6638..65035074ab 100644 --- a/contracts/treasury/package.json +++ b/contracts/treasury/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-treasury", - "version": "1.4.50", + "version": "1.4.51", "engines": { "node": ">=6.12" }, @@ -46,12 +46,12 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/treasury", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.9.0", + "@0x/contract-addresses": "^8.10.0", "@0x/contracts-asset-proxy": "^3.7.19", "@0x/contracts-erc20": "3.3.57", "@0x/contracts-gen": "^2.0.50", "@0x/contracts-staking": "^2.0.45", - "@0x/contracts-test-utils": "^5.4.56", + "@0x/contracts-test-utils": "^5.4.57", "@0x/sol-compiler": "^4.8.2", "@0x/ts-doc-gen": "^0.0.28", "@types/isomorphic-fetch": "^0.0.35", @@ -73,7 +73,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.22.4", + "@0x/protocol-utils": "^11.23.0", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/contracts/utils/package.json b/contracts/utils/package.json index 24445302df..c028648f9b 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-utils", - "version": "4.8.48", + "version": "4.8.49", "engines": { "node": ">=6.12" }, @@ -45,7 +45,7 @@ "devDependencies": { "@0x/abi-gen": "^5.8.5", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.56", + "@0x/contracts-test-utils": "^5.4.57", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", diff --git a/contracts/zero-ex/package.json b/contracts/zero-ex/package.json index ad34ec90e4..c1167f4ab3 100644 --- a/contracts/zero-ex/package.json +++ b/contracts/zero-ex/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-zero-ex", - "version": "0.45.1", + "version": "0.46.0", "engines": { "node": ">=6.12" }, @@ -51,10 +51,10 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/zero-ex", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.9.0", + "@0x/contract-addresses": "^8.10.0", "@0x/contracts-erc20": "^3.3.57", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.56", + "@0x/contracts-test-utils": "^5.4.57", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", @@ -80,7 +80,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.22.4", + "@0x/protocol-utils": "^11.23.0", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/packages/contract-addresses/package.json b/packages/contract-addresses/package.json index 57d88fe01e..6574d23fee 100644 --- a/packages/contract-addresses/package.json +++ b/packages/contract-addresses/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-addresses", - "version": "8.9.0", + "version": "8.10.0", "engines": { "node": ">=6.12" }, diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index a451cef186..9e55db2b0d 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "13.23.4", + "version": "13.23.5", "engines": { "node": ">=6.12" }, @@ -59,7 +59,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.9.0", + "@0x/contract-addresses": "^8.10.0", "@0x/json-schemas": "^6.4.4", "@0x/types": "^3.3.7", "@0x/utils": "^7.0.0", diff --git a/packages/protocol-utils/package.json b/packages/protocol-utils/package.json index 2a8df6553a..fa066ddc94 100644 --- a/packages/protocol-utils/package.json +++ b/packages/protocol-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/protocol-utils", - "version": "11.22.4", + "version": "11.23.0", "engines": { "node": ">=6.12" }, @@ -62,8 +62,8 @@ }, "dependencies": { "@0x/assert": "^3.0.36", - "@0x/contract-addresses": "^8.9.0", - "@0x/contract-wrappers": "^13.23.4", + "@0x/contract-addresses": "^8.10.0", + "@0x/contract-wrappers": "^13.23.5", "@0x/json-schemas": "^6.4.4", "@0x/subproviders": "^8.0.1", "@0x/utils": "^7.0.0", From 7f324dd75de39aaea8320cad3930e35849b0c3c4 Mon Sep 17 00:00:00 2001 From: "Savarn Dontamsetti (Sav)" Date: Thu, 17 Aug 2023 12:59:38 -0400 Subject: [PATCH 15/21] feat/Add Maverick V1 Support (#741) * Add Maverick V1 Support for Ethereum, BSC, and Base --- contracts/zero-ex/CHANGELOG.json | 8 +++ .../transformers/bridges/BSCBridgeAdapter.sol | 7 +++ .../bridges/BaseBridgeAdapter.sol | 7 +++ .../transformers/bridges/BridgeProtocols.sol | 1 + .../bridges/EthereumBridgeAdapter.sol | 7 +++ .../bridges/mixins/MixinMaverickV1.sol | 63 +++++++++++++++++++ packages/contract-addresses/CHANGELOG.json | 8 +++ packages/contract-addresses/addresses.json | 6 +- packages/protocol-utils/CHANGELOG.json | 8 +++ .../protocol-utils/src/transformer_utils.ts | 1 + 10 files changed, 113 insertions(+), 3 deletions(-) create mode 100644 contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinMaverickV1.sol diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index ec297f6a74..ee14271239 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "0.47.0", + "changes": [ + { + "note": "Add MaverickV1 support on Ethereum, BSC, and Base" + } + ] + }, { "version": "0.46.0", "changes": [ diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol index d98b16a946..f7575a61af 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol @@ -22,6 +22,7 @@ import "./mixins/MixinDodo.sol"; import "./mixins/MixinDodoV2.sol"; import "./mixins/MixinKyberDmm.sol"; import "./mixins/MixinKyberElastic.sol"; +import "./mixins/MixinMaverickV1.sol"; import "./mixins/MixinMooniswap.sol"; import "./mixins/MixinNerve.sol"; import "./mixins/MixinUniswapV2.sol"; @@ -36,6 +37,7 @@ contract BSCBridgeAdapter is MixinDodoV2, MixinKyberDmm, MixinKyberElastic, + MixinMaverickV1, MixinMooniswap, MixinNerve, MixinUniswapV2, @@ -103,6 +105,11 @@ contract BSCBridgeAdapter is return (0, true); } boughtAmount = _tradeWOOFi(sellToken, buyToken, sellAmount, order.bridgeData); + } else if (protocolId == BridgeProtocols.MAVERICK) { + if (dryRun) { + return (0, true); + } + boughtAmount = _tradeMaverickV1(sellToken, buyToken, sellAmount, order.bridgeData); } else if (protocolId == BridgeProtocols.UNKNOWN) { if (dryRun) { return (0, true); diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol index 860e6d1593..df8fd454fa 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol @@ -22,6 +22,7 @@ import "./mixins/MixinUniswapV2.sol"; import "./mixins/MixinBalancerV2Batch.sol"; import "./mixins/MixinCurve.sol"; import "./mixins/MixinCurveV2.sol"; +import "./mixins/MixinMaverickV1.sol"; import "./mixins/MixinSolidly.sol"; contract BaseBridgeAdapter is @@ -31,6 +32,7 @@ contract BaseBridgeAdapter is MixinBalancerV2Batch, MixinCurve, MixinCurveV2, + MixinMaverickV1, MixinSolidly { constructor(IEtherToken weth) public MixinCurve(weth) {} @@ -73,6 +75,11 @@ contract BaseBridgeAdapter is return (0, true); } boughtAmount = _tradeBalancerV2Batch(sellAmount, order.bridgeData); + } else if (protocolId == BridgeProtocols.MAVERICK) { + if (dryRun) { + return (0, true); + } + boughtAmount = _tradeMaverickV1(sellToken, buyToken, sellAmount, order.bridgeData); } emit BridgeFill(order.source, sellToken, buyToken, sellAmount, boughtAmount); } diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol index df9e69a9f9..371dd154e4 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol @@ -58,4 +58,5 @@ library BridgeProtocols { uint128 internal constant BARTER = 34; uint128 internal constant TRADERJOEV2 = 35; uint128 internal constant VELODROMEV2 = 36; + uint128 internal constant MAVERICK = 37; } diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/EthereumBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/EthereumBridgeAdapter.sol index ea5be816b0..e1d3ee5bfe 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/EthereumBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/EthereumBridgeAdapter.sol @@ -32,6 +32,7 @@ import "./mixins/MixinKyberDmm.sol"; import "./mixins/MixinKyberElastic.sol"; import "./mixins/MixinLido.sol"; import "./mixins/MixinMakerPSM.sol"; +import "./mixins/MixinMaverickV1.sol"; import "./mixins/MixinNerve.sol"; import "./mixins/MixinSynthetix.sol"; import "./mixins/MixinUniswap.sol"; @@ -56,6 +57,7 @@ contract EthereumBridgeAdapter is MixinKyberElastic, MixinLido, MixinMakerPSM, + MixinMaverickV1, MixinNerve, MixinSynthetix, MixinUniswap, @@ -175,6 +177,11 @@ contract EthereumBridgeAdapter is return (0, true); } boughtAmount = _tradeBarter(sellToken, sellAmount, order.bridgeData); + } else if (protocolId == BridgeProtocols.MAVERICK) { + if (dryRun) { + return (0, true); + } + boughtAmount = _tradeMaverickV1(sellToken, buyToken, sellAmount, order.bridgeData); } else if (protocolId == BridgeProtocols.UNKNOWN) { if (dryRun) { return (0, true); diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinMaverickV1.sol b/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinMaverickV1.sol new file mode 100644 index 0000000000..60a8ef5abf --- /dev/null +++ b/contracts/zero-ex/contracts/src/transformers/bridges/mixins/MixinMaverickV1.sol @@ -0,0 +1,63 @@ +// 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 "@0x/contracts-erc20/src/v06/LibERC20TokenV06.sol"; +import "@0x/contracts-erc20/src/IERC20Token.sol"; + +interface IMaverickV1Router { + struct ExactInputSingleParams { + address tokenIn; + address tokenOut; + address pool; + address recipient; + uint256 deadline; + uint256 amountIn; + uint256 amountOutMinimum; + uint256 sqrtPriceLimitD18; + } + + function exactInputSingle(ExactInputSingleParams calldata params) external payable returns (uint256 amountOut); +} + +contract MixinMaverickV1 { + using LibERC20TokenV06 for IERC20Token; + + function _tradeMaverickV1( + IERC20Token sellToken, + IERC20Token buyToken, + uint256 sellAmount, + bytes memory bridgeData + ) internal returns (uint256 boughtAmount) { + (IMaverickV1Router router, address pool) = abi.decode(bridgeData, (IMaverickV1Router, address)); + + // Grant the MaverickV1 router an allowance to sell the sellToken + sellToken.approveIfBelow(address(router), sellAmount); + + boughtAmount = router.exactInputSingle( + IMaverickV1Router.ExactInputSingleParams({ + tokenIn: address(sellToken), + tokenOut: address(buyToken), + pool: pool, + recipient: address(this), + deadline: block.timestamp, + amountIn: sellAmount, + amountOutMinimum: 1, + sqrtPriceLimitD18: 0 + }) + ); + } +} diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index efbba79c57..a4894aa335 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "8.11.0", + "changes": [ + { + "note": "Add MaverickV1 support on Ethereum, BSC, and Base" + } + ] + }, { "version": "8.10.0", "changes": [ diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index 8c22c0f1ea..3b639c0339 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -18,7 +18,7 @@ "wethTransformer": "0xb2bc06a4efb20fc6553a69dbfa49b7be938034a7", "payTakerTransformer": "0xea500d073652336a58846ada15c25f2c6d2d241f", "affiliateFeeTransformer": "0x8146cbbe327364b13d0699f2ced39c637f92501a", - "fillQuoteTransformer": "0x21c3bee93fad436dedd29f971dc4fdf82f3e3a3a", + "fillQuoteTransformer": "0x2fd08c1f9fc8406c1d7e3a799a13883a7e7949f0", "positiveSlippageFeeTransformer": "0x818a4a855bfeb16c305cb65e8d4fb239a308bc48" } }, @@ -64,7 +64,7 @@ "wethTransformer": "0xac3d95668c092e895cd83a9cbafe9c7d9906471f", "payTakerTransformer": "0x7e788f3a3e39cdd1944ba111fafc5fb7e59b5e90", "affiliateFeeTransformer": "0x043300d113de0c64684ab89c56a45cd94c7ef54c", - "fillQuoteTransformer": "0xa9c57c539690d4e1439411f648ead5b121b34a23", + "fillQuoteTransformer": "0x6073f12fc63bcc64bd4fed5d44aa1035e37d68ee", "positiveSlippageFeeTransformer": "0x6ff35e8cbaf56d8a8f6bf9963b902a4576243030" } }, @@ -271,7 +271,7 @@ "wethTransformer": "0x63186ea36e78ecbf0128e448362f1b81e9bf7412", "payTakerTransformer": "0x5cc22a0e06ea11097c612a962e63674b90e96099", "affiliateFeeTransformer": "0x9e52d8b32d835206d09810c310593bcc77264066", - "fillQuoteTransformer": "0x98b159db76c820dc877782f199e287a97420b1d2", + "fillQuoteTransformer": "0xab93d03a3e7e51ec5edaef75d27f20917da4c18e", "positiveSlippageFeeTransformer": "0xf98a130d3b4029c70e6d93098cb82a003421341e" } } diff --git a/packages/protocol-utils/CHANGELOG.json b/packages/protocol-utils/CHANGELOG.json index 7c35639d90..b2348b0dc2 100644 --- a/packages/protocol-utils/CHANGELOG.json +++ b/packages/protocol-utils/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "11.24.0", + "changes": [ + { + "note": "Add MaverickV1 support on Ethereum, BSC, and Base" + } + ] + }, { "version": "11.23.0", "changes": [ diff --git a/packages/protocol-utils/src/transformer_utils.ts b/packages/protocol-utils/src/transformer_utils.ts index c6f9e5fcb3..0fa0b2c9cc 100644 --- a/packages/protocol-utils/src/transformer_utils.ts +++ b/packages/protocol-utils/src/transformer_utils.ts @@ -167,6 +167,7 @@ export enum BridgeProtocol { Barter, TraderJoeV2, VelodromeV2, + MaverickV1, } /** From 09d6fbce81565ef23f506fdc519d5c7d48b2ee4e Mon Sep 17 00:00:00 2001 From: "Savarn Dontamsetti (Sav)" Date: Thu, 17 Aug 2023 17:11:05 -0400 Subject: [PATCH 16/21] Rename Maverick to MaverickV1 and add tests (#742) * Renaming Maverick and adding tests * Update Base chain ID --- .../transformers/bridges/BSCBridgeAdapter.sol | 2 +- .../bridges/BaseBridgeAdapter.sol | 2 +- .../transformers/bridges/BridgeProtocols.sol | 2 +- .../bridges/EthereumBridgeAdapter.sol | 2 +- .../bridges/BSCBridgeAdapterTest.t.sol | 4 ++ .../bridges/BaseBridgeAdapterTest.t.sol | 39 +++++++++++++++++++ .../bridges/EthereumBridgeAdapterTest.t.sol | 39 +++++++++++++++++++ 7 files changed, 86 insertions(+), 4 deletions(-) create mode 100644 contracts/zero-ex/tests/transformers/bridges/BaseBridgeAdapterTest.t.sol create mode 100644 contracts/zero-ex/tests/transformers/bridges/EthereumBridgeAdapterTest.t.sol diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol index f7575a61af..00a79320ca 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BSCBridgeAdapter.sol @@ -105,7 +105,7 @@ contract BSCBridgeAdapter is return (0, true); } boughtAmount = _tradeWOOFi(sellToken, buyToken, sellAmount, order.bridgeData); - } else if (protocolId == BridgeProtocols.MAVERICK) { + } else if (protocolId == BridgeProtocols.MAVERICKV1) { if (dryRun) { return (0, true); } diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol index df8fd454fa..4d743712d1 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol @@ -75,7 +75,7 @@ contract BaseBridgeAdapter is return (0, true); } boughtAmount = _tradeBalancerV2Batch(sellAmount, order.bridgeData); - } else if (protocolId == BridgeProtocols.MAVERICK) { + } else if (protocolId == BridgeProtocols.MAVERICKV1) { if (dryRun) { return (0, true); } diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol index 371dd154e4..6cd62ad9d4 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BridgeProtocols.sol @@ -58,5 +58,5 @@ library BridgeProtocols { uint128 internal constant BARTER = 34; uint128 internal constant TRADERJOEV2 = 35; uint128 internal constant VELODROMEV2 = 36; - uint128 internal constant MAVERICK = 37; + uint128 internal constant MAVERICKV1 = 37; } diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/EthereumBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/EthereumBridgeAdapter.sol index e1d3ee5bfe..d2ce9c2304 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/EthereumBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/EthereumBridgeAdapter.sol @@ -177,7 +177,7 @@ contract EthereumBridgeAdapter is return (0, true); } boughtAmount = _tradeBarter(sellToken, sellAmount, order.bridgeData); - } else if (protocolId == BridgeProtocols.MAVERICK) { + } else if (protocolId == BridgeProtocols.MAVERICKV1) { if (dryRun) { return (0, true); } diff --git a/contracts/zero-ex/tests/transformers/bridges/BSCBridgeAdapterTest.t.sol b/contracts/zero-ex/tests/transformers/bridges/BSCBridgeAdapterTest.t.sol index 5114d5b4a1..f9d9867d7e 100644 --- a/contracts/zero-ex/tests/transformers/bridges/BSCBridgeAdapterTest.t.sol +++ b/contracts/zero-ex/tests/transformers/bridges/BSCBridgeAdapterTest.t.sol @@ -32,4 +32,8 @@ contract BSCBridgeAdapterTest is Test { function testSupportsUniswapV3() public { assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.UNISWAPV3) << 128))); } + + function testSupportMaverickV1() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.MAVERICKV1) << 128))); + } } diff --git a/contracts/zero-ex/tests/transformers/bridges/BaseBridgeAdapterTest.t.sol b/contracts/zero-ex/tests/transformers/bridges/BaseBridgeAdapterTest.t.sol new file mode 100644 index 0000000000..684a5d862e --- /dev/null +++ b/contracts/zero-ex/tests/transformers/bridges/BaseBridgeAdapterTest.t.sol @@ -0,0 +1,39 @@ +// 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 "forge-std/Test.sol"; +import "../../../contracts/src/transformers/bridges/BaseBridgeAdapter.sol"; +import "../../../contracts/src/transformers/bridges/BridgeProtocols.sol"; + +contract BaseBridgeAdapterTest is Test { + address constant WETH = 0x4200000000000000000000000000000000000006; + + BaseBridgeAdapter private adapter; + + function setUp() public { + vm.chainId(8453); + adapter = new BaseBridgeAdapter(IEtherToken(WETH)); + } + + function testSupportsUniswapV3() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.UNISWAPV3) << 128))); + } + + function testSupportMaverickV1() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.MAVERICKV1) << 128))); + } +} diff --git a/contracts/zero-ex/tests/transformers/bridges/EthereumBridgeAdapterTest.t.sol b/contracts/zero-ex/tests/transformers/bridges/EthereumBridgeAdapterTest.t.sol new file mode 100644 index 0000000000..ea5808cb02 --- /dev/null +++ b/contracts/zero-ex/tests/transformers/bridges/EthereumBridgeAdapterTest.t.sol @@ -0,0 +1,39 @@ +// 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 "forge-std/Test.sol"; +import "../../../contracts/src/transformers/bridges/EthereumBridgeAdapter.sol"; +import "../../../contracts/src/transformers/bridges/BridgeProtocols.sol"; + +contract EthereumBridgeAdapterTest is Test { + address constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; + + EthereumBridgeAdapter private adapter; + + function setUp() public { + vm.chainId(1); + adapter = new EthereumBridgeAdapter(IEtherToken(WETH)); + } + + function testSupportsUniswapV3() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.UNISWAPV3) << 128))); + } + + function testSupportMaverickV1() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.MAVERICKV1) << 128))); + } +} From 62a530d7ece642f1dcc02d53e24bdb84df92b0d1 Mon Sep 17 00:00:00 2001 From: Github Actions Date: Fri, 18 Aug 2023 14:24:27 +0000 Subject: [PATCH 17/21] Updated CHANGELOGS & MD docs --- contracts/erc20/CHANGELOG.json | 9 +++++++++ contracts/erc20/CHANGELOG.md | 4 ++++ contracts/test-utils/CHANGELOG.json | 9 +++++++++ contracts/test-utils/CHANGELOG.md | 4 ++++ contracts/treasury/CHANGELOG.json | 9 +++++++++ contracts/treasury/CHANGELOG.md | 4 ++++ contracts/utils/CHANGELOG.json | 9 +++++++++ contracts/utils/CHANGELOG.md | 4 ++++ contracts/zero-ex/CHANGELOG.json | 3 ++- contracts/zero-ex/CHANGELOG.md | 4 ++++ packages/contract-addresses/CHANGELOG.json | 3 ++- packages/contract-addresses/CHANGELOG.md | 3 +++ packages/contract-wrappers/CHANGELOG.json | 9 +++++++++ packages/contract-wrappers/CHANGELOG.md | 3 +++ packages/protocol-utils/CHANGELOG.json | 3 ++- packages/protocol-utils/CHANGELOG.md | 3 +++ 16 files changed, 80 insertions(+), 3 deletions(-) diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index e1a725c3c8..28f1e69067 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1692368658, + "version": "4.0.12", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1691617396, "version": "4.0.11", diff --git a/contracts/erc20/CHANGELOG.md b/contracts/erc20/CHANGELOG.md index b3093728d0..3c095ff4da 100644 --- a/contracts/erc20/CHANGELOG.md +++ b/contracts/erc20/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.12 - _August 18, 2023_ + + * Dependencies updated + ## v4.0.11 - _August 9, 2023_ * Dependencies updated diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 2aae15e18c..3536a0f0dc 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1692368658, + "version": "5.4.58", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1691617396, "version": "5.4.57", diff --git a/contracts/test-utils/CHANGELOG.md b/contracts/test-utils/CHANGELOG.md index 186658de4a..8b051831c2 100644 --- a/contracts/test-utils/CHANGELOG.md +++ b/contracts/test-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.4.58 - _August 18, 2023_ + + * Dependencies updated + ## v5.4.57 - _August 9, 2023_ * Dependencies updated diff --git a/contracts/treasury/CHANGELOG.json b/contracts/treasury/CHANGELOG.json index 9da396ae01..55665038c7 100644 --- a/contracts/treasury/CHANGELOG.json +++ b/contracts/treasury/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1692368658, + "version": "1.4.52", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1691617396, "version": "1.4.51", diff --git a/contracts/treasury/CHANGELOG.md b/contracts/treasury/CHANGELOG.md index c5aa850d74..75f2a6fd15 100644 --- a/contracts/treasury/CHANGELOG.md +++ b/contracts/treasury/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.4.52 - _August 18, 2023_ + + * Dependencies updated + ## v1.4.51 - _August 9, 2023_ * Dependencies updated diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index 3df115f57e..eae2e171d3 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1692368658, + "version": "4.8.50", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1691617396, "version": "4.8.49", diff --git a/contracts/utils/CHANGELOG.md b/contracts/utils/CHANGELOG.md index bcebaaed34..462a1745e1 100644 --- a/contracts/utils/CHANGELOG.md +++ b/contracts/utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.8.50 - _August 18, 2023_ + + * Dependencies updated + ## v4.8.49 - _August 9, 2023_ * Dependencies updated diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index ee14271239..209b788709 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Add MaverickV1 support on Ethereum, BSC, and Base" } - ] + ], + "timestamp": 1692368658 }, { "version": "0.46.0", diff --git a/contracts/zero-ex/CHANGELOG.md b/contracts/zero-ex/CHANGELOG.md index 9e854bd2f1..45722e5b8c 100644 --- a/contracts/zero-ex/CHANGELOG.md +++ b/contracts/zero-ex/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.47.0 - _August 18, 2023_ + + * Add MaverickV1 support on Ethereum, BSC, and Base + ## v0.46.0 - _August 9, 2023_ * Add VelodromeV2 support on Optimism diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index a4894aa335..a7b1acfc9b 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Add MaverickV1 support on Ethereum, BSC, and Base" } - ] + ], + "timestamp": 1692368658 }, { "version": "8.10.0", diff --git a/packages/contract-addresses/CHANGELOG.md b/packages/contract-addresses/CHANGELOG.md index 1b2e468187..f34be2a653 100644 --- a/packages/contract-addresses/CHANGELOG.md +++ b/packages/contract-addresses/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v8.11.0 - _August 18, 2023_ + + * Add MaverickV1 support on Ethereum, BSC, and Base ## v8.10.0 - _August 9, 2023_ * Add VelodromeV2 support on Optimism diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 0c61209fda..1bb2ab8a85 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1692368658, + "version": "13.23.6", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1691617396, "version": "13.23.5", diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index f962396e10..2b3c8a0ec4 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v13.23.6 - _August 18, 2023_ + + * Dependencies updated ## v13.23.5 - _August 9, 2023_ * Dependencies updated diff --git a/packages/protocol-utils/CHANGELOG.json b/packages/protocol-utils/CHANGELOG.json index b2348b0dc2..9f1b40fa27 100644 --- a/packages/protocol-utils/CHANGELOG.json +++ b/packages/protocol-utils/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Add MaverickV1 support on Ethereum, BSC, and Base" } - ] + ], + "timestamp": 1692368658 }, { "version": "11.23.0", diff --git a/packages/protocol-utils/CHANGELOG.md b/packages/protocol-utils/CHANGELOG.md index d8f9ac9e46..c7ba739ed6 100644 --- a/packages/protocol-utils/CHANGELOG.md +++ b/packages/protocol-utils/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v11.24.0 - _August 18, 2023_ + + * Add MaverickV1 support on Ethereum, BSC, and Base ## v11.23.0 - _August 9, 2023_ * Add VelodromeV2 support on Optimism From ec336b92aae5cafc76b5fe22bf9d50ecdafd9b4c Mon Sep 17 00:00:00 2001 From: Github Actions Date: Fri, 18 Aug 2023 14:24:32 +0000 Subject: [PATCH 18/21] Publish - @0x/contracts-erc20@4.0.12 - @0x/contracts-test-utils@5.4.58 - @0x/contracts-treasury@1.4.52 - @0x/contracts-utils@4.8.50 - @0x/contracts-zero-ex@0.47.0 - @0x/contract-addresses@8.11.0 - @0x/contract-wrappers@13.23.6 - @0x/protocol-utils@11.24.0 --- contracts/erc20/package.json | 4 ++-- contracts/test-utils/package.json | 4 ++-- contracts/treasury/package.json | 8 ++++---- contracts/utils/package.json | 4 ++-- contracts/zero-ex/package.json | 8 ++++---- packages/contract-addresses/package.json | 2 +- packages/contract-wrappers/package.json | 4 ++-- packages/protocol-utils/package.json | 6 +++--- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index 8e8f5b28ab..4232b7c436 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc20", - "version": "4.0.11", + "version": "4.0.12", "engines": { "node": ">=6.12" }, @@ -24,7 +24,7 @@ }, "homepage": "https://github.com/0xProject/protocol", "devDependencies": { - "@0x/contracts-utils": "^4.8.49", + "@0x/contracts-utils": "^4.8.50", "@0x/ts-doc-gen": "^0.0.28", "typedoc": "~0.16.11" }, diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index 44297bd711..0e3a6e4077 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-test-utils", - "version": "5.4.57", + "version": "5.4.58", "engines": { "node": ">=6.12" }, @@ -41,7 +41,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.10.0", + "@0x/contract-addresses": "^8.11.0", "@0x/dev-utils": "^5.0.2", "@0x/json-schemas": "^6.4.4", "@0x/order-utils": "^10.4.28", diff --git a/contracts/treasury/package.json b/contracts/treasury/package.json index 65035074ab..e60150b1de 100644 --- a/contracts/treasury/package.json +++ b/contracts/treasury/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-treasury", - "version": "1.4.51", + "version": "1.4.52", "engines": { "node": ">=6.12" }, @@ -46,12 +46,12 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/treasury", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.10.0", + "@0x/contract-addresses": "^8.11.0", "@0x/contracts-asset-proxy": "^3.7.19", "@0x/contracts-erc20": "3.3.57", "@0x/contracts-gen": "^2.0.50", "@0x/contracts-staking": "^2.0.45", - "@0x/contracts-test-utils": "^5.4.57", + "@0x/contracts-test-utils": "^5.4.58", "@0x/sol-compiler": "^4.8.2", "@0x/ts-doc-gen": "^0.0.28", "@types/isomorphic-fetch": "^0.0.35", @@ -73,7 +73,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.23.0", + "@0x/protocol-utils": "^11.24.0", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/contracts/utils/package.json b/contracts/utils/package.json index c028648f9b..b08e2eb369 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-utils", - "version": "4.8.49", + "version": "4.8.50", "engines": { "node": ">=6.12" }, @@ -45,7 +45,7 @@ "devDependencies": { "@0x/abi-gen": "^5.8.5", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.57", + "@0x/contracts-test-utils": "^5.4.58", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", diff --git a/contracts/zero-ex/package.json b/contracts/zero-ex/package.json index c1167f4ab3..acae63b2be 100644 --- a/contracts/zero-ex/package.json +++ b/contracts/zero-ex/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-zero-ex", - "version": "0.46.0", + "version": "0.47.0", "engines": { "node": ">=6.12" }, @@ -51,10 +51,10 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/zero-ex", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.10.0", + "@0x/contract-addresses": "^8.11.0", "@0x/contracts-erc20": "^3.3.57", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.57", + "@0x/contracts-test-utils": "^5.4.58", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", @@ -80,7 +80,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.23.0", + "@0x/protocol-utils": "^11.24.0", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/packages/contract-addresses/package.json b/packages/contract-addresses/package.json index 6574d23fee..4d07b762bf 100644 --- a/packages/contract-addresses/package.json +++ b/packages/contract-addresses/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-addresses", - "version": "8.10.0", + "version": "8.11.0", "engines": { "node": ">=6.12" }, diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index 9e55db2b0d..dd1d471601 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "13.23.5", + "version": "13.23.6", "engines": { "node": ">=6.12" }, @@ -59,7 +59,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.10.0", + "@0x/contract-addresses": "^8.11.0", "@0x/json-schemas": "^6.4.4", "@0x/types": "^3.3.7", "@0x/utils": "^7.0.0", diff --git a/packages/protocol-utils/package.json b/packages/protocol-utils/package.json index fa066ddc94..92dfb1ae6b 100644 --- a/packages/protocol-utils/package.json +++ b/packages/protocol-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/protocol-utils", - "version": "11.23.0", + "version": "11.24.0", "engines": { "node": ">=6.12" }, @@ -62,8 +62,8 @@ }, "dependencies": { "@0x/assert": "^3.0.36", - "@0x/contract-addresses": "^8.10.0", - "@0x/contract-wrappers": "^13.23.5", + "@0x/contract-addresses": "^8.11.0", + "@0x/contract-wrappers": "^13.23.6", "@0x/json-schemas": "^6.4.4", "@0x/subproviders": "^8.0.1", "@0x/utils": "^7.0.0", From 5a49be13222ff8614186160c8ca00ade45c8d78f Mon Sep 17 00:00:00 2001 From: "Savarn Dontamsetti (Sav)" Date: Thu, 24 Aug 2023 16:35:11 -0400 Subject: [PATCH 19/21] Create PRs to reflect publish changes (#743) * Create PRs to reflect publish changes * Using gh instead of third party action * Adding github token --- .github/workflows/publish.yml | 54 ++++++++++++++++++++++++----------- 1 file changed, 37 insertions(+), 17 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c4c2457efb..4cd269da45 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,19 +1,21 @@ name: publish on: - workflow_dispatch: - inputs: - ci_status: - description: 'required CI status' - default: 'success' - required: true - prerelease: - description: 'prerelease name' - required: false + workflow_dispatch: + inputs: + ci_status: + description: 'required CI status' + default: 'success' + required: true + prerelease: + description: 'prerelease name' + required: false jobs: publish: runs-on: ubuntu-latest + env: + PublishBranch: publish/${{github.ref_name }}-${{ github.run_id }}-${{ github.run_number }} steps: - name: 'check successful status' run: | @@ -28,16 +30,20 @@ jobs: version: nightly - uses: actions/checkout@v2 with: - ref: ${{ github.ref }} - fetch-depth: 0 + ref: ${{ github.ref }} + fetch-depth: 0 - uses: actions/setup-node@v1 with: - node-version: 16 + node-version: 16 - uses: actions/setup-python@v2 - name: 'configure git' run: | git config --global user.email "github-actions@github.com" git config --global user.name "Github Actions" + - name: 'Checkout new branch' + run: | + git checkout -b $PublishBranch + git push -u origin $PublishBranch - name: 'install dependencies' run: | yarn -D @@ -49,9 +55,23 @@ jobs: NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} GITHUB_TOKEN: ${{ github.token }} PUBLISH_PRERELEASE: ${{ github.event.inputs.prerelease }} - - name: 'merge into main branch' - if: github.event.inputs.prerelease == '' # unless it's a prerelease + - name: 'Create PR to merge into ref branch' run: | - git checkout main && \ - git merge ${{ github.ref }} && \ - git push + gh pr create \ + -B ${{ github.ref_name }} \ + -H $PublishBranch \ + --title "Publish: CHANGELOG and Package Version Updates into ${{ github.ref_name }}" \ + --body "Syncing CHANGELOG and package version updates from publish action ${{github.run_id}}-${{github.run_number}} into ${{ github.ref_name}} branch" \ + --reviewer ${{ github.actor }} + env: + GITHUB_TOKEN: ${{ github.token }} + - name: 'Create PR to merge ref branch into main' + run: | + gh pr create \ + -B main \ + -H ${{ github.ref_name }} \ + --title "Publish: Sync ${{ github.ref_name }} into main " \ + --body "Syncing ${{ github.ref_name }} back into main after publish action. NOTE: this PR should be merged after CHANGELOG and package version updates have been merged into ${{ github.ref_name }}" \ + --reviewer ${{ github.actor }} + env: + GITHUB_TOKEN: ${{ github.token }} From e5cbfd87bc6cc641f50c613100dd23d3db999f39 Mon Sep 17 00:00:00 2001 From: Kyu Date: Tue, 29 Aug 2023 14:43:23 -0700 Subject: [PATCH 20/21] Add Velodrome V2 support on Base (#747) --- contracts/zero-ex/CHANGELOG.json | 8 ++++++++ .../src/transformers/bridges/BaseBridgeAdapter.sol | 9 ++++++++- .../transformers/bridges/BaseBridgeAdapterTest.t.sol | 8 ++++++++ packages/contract-addresses/CHANGELOG.json | 8 ++++++++ packages/contract-addresses/addresses.json | 2 +- 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 209b788709..28f073b64f 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "0.48.0", + "changes": [ + { + "note": "Add VelodromeV2 support on Base" + } + ] + }, { "version": "0.47.0", "changes": [ diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol index 4d743712d1..aec3042eb4 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/BaseBridgeAdapter.sol @@ -24,6 +24,7 @@ import "./mixins/MixinCurve.sol"; import "./mixins/MixinCurveV2.sol"; import "./mixins/MixinMaverickV1.sol"; import "./mixins/MixinSolidly.sol"; +import "./mixins/MixinVelodromeV2.sol"; contract BaseBridgeAdapter is AbstractBridgeAdapter(8453, "Base"), @@ -33,7 +34,8 @@ contract BaseBridgeAdapter is MixinCurve, MixinCurveV2, MixinMaverickV1, - MixinSolidly + MixinSolidly, + MixinVelodromeV2 { constructor(IEtherToken weth) public MixinCurve(weth) {} @@ -80,6 +82,11 @@ contract BaseBridgeAdapter is return (0, true); } boughtAmount = _tradeMaverickV1(sellToken, buyToken, sellAmount, order.bridgeData); + } else if (protocolId == BridgeProtocols.VELODROMEV2) { + if (dryRun) { + return (0, true); + } + boughtAmount = _tradeVelodromeV2(sellToken, sellAmount, order.bridgeData); } emit BridgeFill(order.source, sellToken, buyToken, sellAmount, boughtAmount); } diff --git a/contracts/zero-ex/tests/transformers/bridges/BaseBridgeAdapterTest.t.sol b/contracts/zero-ex/tests/transformers/bridges/BaseBridgeAdapterTest.t.sol index 684a5d862e..c9a708cfbb 100644 --- a/contracts/zero-ex/tests/transformers/bridges/BaseBridgeAdapterTest.t.sol +++ b/contracts/zero-ex/tests/transformers/bridges/BaseBridgeAdapterTest.t.sol @@ -36,4 +36,12 @@ contract BaseBridgeAdapterTest is Test { function testSupportMaverickV1() public { assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.MAVERICKV1) << 128))); } + + function testSupportSolidly() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.SOLIDLY) << 128))); + } + + function testSupportVelodromeV2() public { + assertTrue(adapter.isSupportedSource(bytes32(uint256(BridgeProtocols.VELODROMEV2) << 128))); + } } diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index a7b1acfc9b..2161d74a1d 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "8.12.0", + "changes": [ + { + "note": "Add VelodromeV2 support on Base" + } + ] + }, { "version": "8.11.0", "changes": [ diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index 3b639c0339..2f03d6f541 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -271,7 +271,7 @@ "wethTransformer": "0x63186ea36e78ecbf0128e448362f1b81e9bf7412", "payTakerTransformer": "0x5cc22a0e06ea11097c612a962e63674b90e96099", "affiliateFeeTransformer": "0x9e52d8b32d835206d09810c310593bcc77264066", - "fillQuoteTransformer": "0xab93d03a3e7e51ec5edaef75d27f20917da4c18e", + "fillQuoteTransformer": "0x2c46d57bb5af87a13a51dd5b62ba7d3bc7e12e9c", "positiveSlippageFeeTransformer": "0xf98a130d3b4029c70e6d93098cb82a003421341e" } } From b19e29e03d8a6bf5d797af18c3ce227594994f55 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 29 Aug 2023 15:10:18 -0700 Subject: [PATCH 21/21] Publish: CHANGELOG and Package Version Updates into development (#748) * Updated CHANGELOGS & MD docs * Publish - @0x/contracts-erc20@4.0.13 - @0x/contracts-test-utils@5.4.59 - @0x/contracts-treasury@1.4.53 - @0x/contracts-utils@4.8.51 - @0x/contracts-zero-ex@0.48.0 - @0x/contract-addresses@8.12.0 - @0x/contract-wrappers@13.23.7 - @0x/protocol-utils@11.24.1 --------- Co-authored-by: Github Actions --- contracts/erc20/CHANGELOG.json | 9 +++++++++ contracts/erc20/CHANGELOG.md | 4 ++++ contracts/erc20/package.json | 4 ++-- contracts/test-utils/CHANGELOG.json | 9 +++++++++ contracts/test-utils/CHANGELOG.md | 4 ++++ contracts/test-utils/package.json | 4 ++-- contracts/treasury/CHANGELOG.json | 9 +++++++++ contracts/treasury/CHANGELOG.md | 4 ++++ contracts/treasury/package.json | 8 ++++---- contracts/utils/CHANGELOG.json | 9 +++++++++ contracts/utils/CHANGELOG.md | 4 ++++ contracts/utils/package.json | 4 ++-- contracts/zero-ex/CHANGELOG.json | 3 ++- contracts/zero-ex/CHANGELOG.md | 4 ++++ contracts/zero-ex/package.json | 8 ++++---- packages/contract-addresses/CHANGELOG.json | 3 ++- packages/contract-addresses/CHANGELOG.md | 3 +++ packages/contract-addresses/package.json | 2 +- packages/contract-wrappers/CHANGELOG.json | 9 +++++++++ packages/contract-wrappers/CHANGELOG.md | 3 +++ packages/contract-wrappers/package.json | 4 ++-- packages/protocol-utils/CHANGELOG.json | 9 +++++++++ packages/protocol-utils/CHANGELOG.md | 3 +++ packages/protocol-utils/package.json | 6 +++--- 24 files changed, 107 insertions(+), 22 deletions(-) diff --git a/contracts/erc20/CHANGELOG.json b/contracts/erc20/CHANGELOG.json index 28f1e69067..27daa70ea5 100644 --- a/contracts/erc20/CHANGELOG.json +++ b/contracts/erc20/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1693346928, + "version": "4.0.13", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1692368658, "version": "4.0.12", diff --git a/contracts/erc20/CHANGELOG.md b/contracts/erc20/CHANGELOG.md index 3c095ff4da..779d52a9f8 100644 --- a/contracts/erc20/CHANGELOG.md +++ b/contracts/erc20/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.0.13 - _August 29, 2023_ + + * Dependencies updated + ## v4.0.12 - _August 18, 2023_ * Dependencies updated diff --git a/contracts/erc20/package.json b/contracts/erc20/package.json index 4232b7c436..65444e72a4 100644 --- a/contracts/erc20/package.json +++ b/contracts/erc20/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-erc20", - "version": "4.0.12", + "version": "4.0.13", "engines": { "node": ">=6.12" }, @@ -24,7 +24,7 @@ }, "homepage": "https://github.com/0xProject/protocol", "devDependencies": { - "@0x/contracts-utils": "^4.8.50", + "@0x/contracts-utils": "^4.8.51", "@0x/ts-doc-gen": "^0.0.28", "typedoc": "~0.16.11" }, diff --git a/contracts/test-utils/CHANGELOG.json b/contracts/test-utils/CHANGELOG.json index 3536a0f0dc..5814d6c10c 100644 --- a/contracts/test-utils/CHANGELOG.json +++ b/contracts/test-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1693346928, + "version": "5.4.59", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1692368658, "version": "5.4.58", diff --git a/contracts/test-utils/CHANGELOG.md b/contracts/test-utils/CHANGELOG.md index 8b051831c2..cda787a637 100644 --- a/contracts/test-utils/CHANGELOG.md +++ b/contracts/test-utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v5.4.59 - _August 29, 2023_ + + * Dependencies updated + ## v5.4.58 - _August 18, 2023_ * Dependencies updated diff --git a/contracts/test-utils/package.json b/contracts/test-utils/package.json index 0e3a6e4077..0d6228c2dc 100644 --- a/contracts/test-utils/package.json +++ b/contracts/test-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-test-utils", - "version": "5.4.58", + "version": "5.4.59", "engines": { "node": ">=6.12" }, @@ -41,7 +41,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.11.0", + "@0x/contract-addresses": "^8.12.0", "@0x/dev-utils": "^5.0.2", "@0x/json-schemas": "^6.4.4", "@0x/order-utils": "^10.4.28", diff --git a/contracts/treasury/CHANGELOG.json b/contracts/treasury/CHANGELOG.json index 55665038c7..f975b697b6 100644 --- a/contracts/treasury/CHANGELOG.json +++ b/contracts/treasury/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1693346928, + "version": "1.4.53", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1692368658, "version": "1.4.52", diff --git a/contracts/treasury/CHANGELOG.md b/contracts/treasury/CHANGELOG.md index 75f2a6fd15..0b3d885cdb 100644 --- a/contracts/treasury/CHANGELOG.md +++ b/contracts/treasury/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v1.4.53 - _August 29, 2023_ + + * Dependencies updated + ## v1.4.52 - _August 18, 2023_ * Dependencies updated diff --git a/contracts/treasury/package.json b/contracts/treasury/package.json index e60150b1de..07cd2caa8f 100644 --- a/contracts/treasury/package.json +++ b/contracts/treasury/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-treasury", - "version": "1.4.52", + "version": "1.4.53", "engines": { "node": ">=6.12" }, @@ -46,12 +46,12 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/treasury", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.11.0", + "@0x/contract-addresses": "^8.12.0", "@0x/contracts-asset-proxy": "^3.7.19", "@0x/contracts-erc20": "3.3.57", "@0x/contracts-gen": "^2.0.50", "@0x/contracts-staking": "^2.0.45", - "@0x/contracts-test-utils": "^5.4.58", + "@0x/contracts-test-utils": "^5.4.59", "@0x/sol-compiler": "^4.8.2", "@0x/ts-doc-gen": "^0.0.28", "@types/isomorphic-fetch": "^0.0.35", @@ -73,7 +73,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.24.0", + "@0x/protocol-utils": "^11.24.1", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/contracts/utils/CHANGELOG.json b/contracts/utils/CHANGELOG.json index eae2e171d3..5611e58731 100644 --- a/contracts/utils/CHANGELOG.json +++ b/contracts/utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1693346928, + "version": "4.8.51", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1692368658, "version": "4.8.50", diff --git a/contracts/utils/CHANGELOG.md b/contracts/utils/CHANGELOG.md index 462a1745e1..82f914a811 100644 --- a/contracts/utils/CHANGELOG.md +++ b/contracts/utils/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v4.8.51 - _August 29, 2023_ + + * Dependencies updated + ## v4.8.50 - _August 18, 2023_ * Dependencies updated diff --git a/contracts/utils/package.json b/contracts/utils/package.json index b08e2eb369..0422eebc8f 100644 --- a/contracts/utils/package.json +++ b/contracts/utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-utils", - "version": "4.8.50", + "version": "4.8.51", "engines": { "node": ">=6.12" }, @@ -45,7 +45,7 @@ "devDependencies": { "@0x/abi-gen": "^5.8.5", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.58", + "@0x/contracts-test-utils": "^5.4.59", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 28f073b64f..a3d4e3c4cd 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Add VelodromeV2 support on Base" } - ] + ], + "timestamp": 1693346928 }, { "version": "0.47.0", diff --git a/contracts/zero-ex/CHANGELOG.md b/contracts/zero-ex/CHANGELOG.md index 45722e5b8c..5e8478fadb 100644 --- a/contracts/zero-ex/CHANGELOG.md +++ b/contracts/zero-ex/CHANGELOG.md @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v0.48.0 - _August 29, 2023_ + + * Add VelodromeV2 support on Base + ## v0.47.0 - _August 18, 2023_ * Add MaverickV1 support on Ethereum, BSC, and Base diff --git a/contracts/zero-ex/package.json b/contracts/zero-ex/package.json index acae63b2be..6934a9df0b 100644 --- a/contracts/zero-ex/package.json +++ b/contracts/zero-ex/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contracts-zero-ex", - "version": "0.47.0", + "version": "0.48.0", "engines": { "node": ">=6.12" }, @@ -51,10 +51,10 @@ "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/zero-ex", "devDependencies": { "@0x/abi-gen": "^5.8.5", - "@0x/contract-addresses": "^8.11.0", + "@0x/contract-addresses": "^8.12.0", "@0x/contracts-erc20": "^3.3.57", "@0x/contracts-gen": "^2.0.50", - "@0x/contracts-test-utils": "^5.4.58", + "@0x/contracts-test-utils": "^5.4.59", "@0x/dev-utils": "^5.0.2", "@0x/order-utils": "^10.4.28", "@0x/sol-compiler": "^4.8.2", @@ -80,7 +80,7 @@ }, "dependencies": { "@0x/base-contract": "^7.0.0", - "@0x/protocol-utils": "^11.24.0", + "@0x/protocol-utils": "^11.24.1", "@0x/subproviders": "^8.0.1", "@0x/types": "^3.3.7", "@0x/typescript-typings": "^5.3.1", diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index 2161d74a1d..1d43102d58 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -5,7 +5,8 @@ { "note": "Add VelodromeV2 support on Base" } - ] + ], + "timestamp": 1693346928 }, { "version": "8.11.0", diff --git a/packages/contract-addresses/CHANGELOG.md b/packages/contract-addresses/CHANGELOG.md index f34be2a653..8a0a34a69f 100644 --- a/packages/contract-addresses/CHANGELOG.md +++ b/packages/contract-addresses/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v8.12.0 - _August 29, 2023_ + + * Add VelodromeV2 support on Base ## v8.11.0 - _August 18, 2023_ * Add MaverickV1 support on Ethereum, BSC, and Base diff --git a/packages/contract-addresses/package.json b/packages/contract-addresses/package.json index 4d07b762bf..3e3d6aaeb5 100644 --- a/packages/contract-addresses/package.json +++ b/packages/contract-addresses/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-addresses", - "version": "8.11.0", + "version": "8.12.0", "engines": { "node": ">=6.12" }, diff --git a/packages/contract-wrappers/CHANGELOG.json b/packages/contract-wrappers/CHANGELOG.json index 1bb2ab8a85..d936f4dbbd 100644 --- a/packages/contract-wrappers/CHANGELOG.json +++ b/packages/contract-wrappers/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1693346928, + "version": "13.23.7", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "timestamp": 1692368658, "version": "13.23.6", diff --git a/packages/contract-wrappers/CHANGELOG.md b/packages/contract-wrappers/CHANGELOG.md index 2b3c8a0ec4..93b9f3f9c3 100644 --- a/packages/contract-wrappers/CHANGELOG.md +++ b/packages/contract-wrappers/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v13.23.7 - _August 29, 2023_ + + * Dependencies updated ## v13.23.6 - _August 18, 2023_ * Dependencies updated diff --git a/packages/contract-wrappers/package.json b/packages/contract-wrappers/package.json index dd1d471601..76c8115884 100644 --- a/packages/contract-wrappers/package.json +++ b/packages/contract-wrappers/package.json @@ -1,6 +1,6 @@ { "name": "@0x/contract-wrappers", - "version": "13.23.6", + "version": "13.23.7", "engines": { "node": ">=6.12" }, @@ -59,7 +59,7 @@ "dependencies": { "@0x/assert": "^3.0.36", "@0x/base-contract": "^7.0.0", - "@0x/contract-addresses": "^8.11.0", + "@0x/contract-addresses": "^8.12.0", "@0x/json-schemas": "^6.4.4", "@0x/types": "^3.3.7", "@0x/utils": "^7.0.0", diff --git a/packages/protocol-utils/CHANGELOG.json b/packages/protocol-utils/CHANGELOG.json index 9f1b40fa27..062d8b6470 100644 --- a/packages/protocol-utils/CHANGELOG.json +++ b/packages/protocol-utils/CHANGELOG.json @@ -1,4 +1,13 @@ [ + { + "timestamp": 1693346928, + "version": "11.24.1", + "changes": [ + { + "note": "Dependencies updated" + } + ] + }, { "version": "11.24.0", "changes": [ diff --git a/packages/protocol-utils/CHANGELOG.md b/packages/protocol-utils/CHANGELOG.md index c7ba739ed6..8cfc04fb90 100644 --- a/packages/protocol-utils/CHANGELOG.md +++ b/packages/protocol-utils/CHANGELOG.md @@ -6,6 +6,9 @@ Edit the package's CHANGELOG.json file only. CHANGELOG +## v11.24.1 - _August 29, 2023_ + + * Dependencies updated ## v11.24.0 - _August 18, 2023_ * Add MaverickV1 support on Ethereum, BSC, and Base diff --git a/packages/protocol-utils/package.json b/packages/protocol-utils/package.json index 92dfb1ae6b..5ff865b2d9 100644 --- a/packages/protocol-utils/package.json +++ b/packages/protocol-utils/package.json @@ -1,6 +1,6 @@ { "name": "@0x/protocol-utils", - "version": "11.24.0", + "version": "11.24.1", "engines": { "node": ">=6.12" }, @@ -62,8 +62,8 @@ }, "dependencies": { "@0x/assert": "^3.0.36", - "@0x/contract-addresses": "^8.11.0", - "@0x/contract-wrappers": "^13.23.6", + "@0x/contract-addresses": "^8.12.0", + "@0x/contract-wrappers": "^13.23.7", "@0x/json-schemas": "^6.4.4", "@0x/subproviders": "^8.0.1", "@0x/utils": "^7.0.0",