diff --git a/contracts/zero-ex/CHANGELOG.json b/contracts/zero-ex/CHANGELOG.json index 35832599dc..3e5c8898cd 100644 --- a/contracts/zero-ex/CHANGELOG.json +++ b/contracts/zero-ex/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "0.44.0", + "changes": [ + { + "note": "Add Trader Joe V2 MixIn to Arbitrum" + } + ] + }, { "version": "0.43.0", "changes": [ diff --git a/contracts/zero-ex/contracts/src/transformers/bridges/ArbitrumBridgeAdapter.sol b/contracts/zero-ex/contracts/src/transformers/bridges/ArbitrumBridgeAdapter.sol index 5928982e0b..d9f4bc5cf2 100644 --- a/contracts/zero-ex/contracts/src/transformers/bridges/ArbitrumBridgeAdapter.sol +++ b/contracts/zero-ex/contracts/src/transformers/bridges/ArbitrumBridgeAdapter.sol @@ -26,6 +26,7 @@ import "./mixins/MixinKyberDmm.sol"; import "./mixins/MixinKyberElastic.sol"; import "./mixins/MixinGMX.sol"; import "./mixins/MixinNerve.sol"; +import "./mixins/MixinTraderJoeV2.sol"; import "./mixins/MixinUniswapV3.sol"; import "./mixins/MixinUniswapV2.sol"; import "./mixins/MixinWOOFi.sol"; @@ -42,6 +43,7 @@ contract ArbitrumBridgeAdapter is MixinKyberElastic, MixinGMX, MixinNerve, + MixinTraderJoeV2, MixinUniswapV3, MixinUniswapV2, MixinWOOFi, @@ -97,6 +99,11 @@ contract ArbitrumBridgeAdapter is return (0, true); } boughtAmount = _tradeUniswapV2(buyToken, sellAmount, order.bridgeData); + } else if (protocolId == BridgeProtocols.TRADERJOEV2) { + if (dryRun) { + return (0, true); + } + boughtAmount = _tradeTraderJoeV2(buyToken, sellAmount, order.bridgeData); } else if (protocolId == BridgeProtocols.GMX) { if (dryRun) { return (0, true); diff --git a/contracts/zero-ex/tests/addresses/SourceAddresses.json b/contracts/zero-ex/tests/addresses/SourceAddresses.json index db85844b69..e279cc440d 100644 --- a/contracts/zero-ex/tests/addresses/SourceAddresses.json +++ b/contracts/zero-ex/tests/addresses/SourceAddresses.json @@ -32,7 +32,7 @@ "KyberElasticQuoter": "0x0d125c15d54ca1f8a813c74a81aee34ebb508c1f", "KyberElasticRouter": "0xc1e7dfe73e1598e3910ef4c7845b68a9ab6f4c83", "KyberElasticPool": "0x6038373de7f64da99b2a31951628b7d778b2c3cf", - "TraderJoeV2Quoter": "0x3660268Ed43583a2cdd09e3fC7079ff07DBD4Caa", + "TraderJoeV2Quoter": "0x64b57F4249aA99a812212cee7DAEFEDC40B203cD", "TraderJoeV2Router": "0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30" }, "250": { @@ -59,7 +59,7 @@ "KyberElasticQuoter": "0x0d125c15d54ca1f8a813c74a81aee34ebb508c1f", "KyberElasticRouter": "0xc1e7dfe73e1598e3910ef4c7845b68a9ab6f4c83", "KyberElasticPool": "0x087abaab9cd85025a8b3916948c69fe173c837ea", - "TraderJoeV2Quoter": "0x0000000000000000000000000000000000000000", - "TraderJoeV2Router": "0x0000000000000000000000000000000000000000" + "TraderJoeV2Quoter": "0x64b57F4249aA99a812212cee7DAEFEDC40B203cD", + "TraderJoeV2Router": "0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30" } } diff --git a/contracts/zero-ex/tests/forked/SwapERC20ForERC20Test.t.sol b/contracts/zero-ex/tests/forked/SwapERC20ForERC20Test.t.sol index 4d32c0a877..01050e998e 100644 --- a/contracts/zero-ex/tests/forked/SwapERC20ForERC20Test.t.sol +++ b/contracts/zero-ex/tests/forked/SwapERC20ForERC20Test.t.sol @@ -56,8 +56,8 @@ contract SwapERC20ForERC20Test is Test, ForkUtils, TestUtils { function test_swapERC20ForERC20OnTraderJoeV2() public { for (uint256 i = 0; i < chains.length; i++) { - // TraderJoeV2 mixin only enabled on Avalanche - if (i != 3) { + // TraderJoeV2 mixin only enabled on Avalanche and Arbitrum + if (i != 3 && i != 6) { continue; } vm.selectFork(forkIds[chains[i]]); diff --git a/packages/contract-addresses/CHANGELOG.json b/packages/contract-addresses/CHANGELOG.json index db625d3090..79f6597732 100644 --- a/packages/contract-addresses/CHANGELOG.json +++ b/packages/contract-addresses/CHANGELOG.json @@ -1,4 +1,12 @@ [ + { + "version": "8.7.0", + "changes": [ + { + "note": "Add Trader Joe V2 MixIn to Arbitrum" + } + ] + }, { "version": "8.6.0", "changes": [ diff --git a/packages/contract-addresses/addresses.json b/packages/contract-addresses/addresses.json index 64e4d05223..f27f3c4326 100644 --- a/packages/contract-addresses/addresses.json +++ b/packages/contract-addresses/addresses.json @@ -248,7 +248,7 @@ "wethTransformer": "0x10e968968f49dd66a5efeebbb2edcb9c49c4fc49", "payTakerTransformer": "0xd81e65fc9bb7323bdbef8b2cdddd3b83fe41d630", "affiliateFeeTransformer": "0x970e318b8f074c20bf0cee06970f01dc7a761e50", - "fillQuoteTransformer": "0x5d3a221bad31c3f3c07bea2f1de9b3ec17664b69", + "fillQuoteTransformer": "0x4a8815c2fc605e3b01aee52aade4d096c4e862c6", "positiveSlippageFeeTransformer": "0x20f935b037e8490d8027f2751f9452725eee01ad" } }