aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contracts')
-rw-r--r--packages/contracts/src/2.0.0/forwarder/Forwarder.sol4
-rw-r--r--packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol12
-rw-r--r--packages/contracts/test/forwarder/forwarder.ts2
3 files changed, 8 insertions, 10 deletions
diff --git a/packages/contracts/src/2.0.0/forwarder/Forwarder.sol b/packages/contracts/src/2.0.0/forwarder/Forwarder.sol
index 5b88b05b1..6b17bb29b 100644
--- a/packages/contracts/src/2.0.0/forwarder/Forwarder.sol
+++ b/packages/contracts/src/2.0.0/forwarder/Forwarder.sol
@@ -37,16 +37,12 @@ contract Forwarder is
constructor (
address _exchange,
- address _etherToken,
- address _zrxToken,
bytes memory _zrxAssetData,
bytes memory _wethAssetData
)
public
LibConstants(
_exchange,
- _etherToken,
- _zrxToken,
_zrxAssetData,
_wethAssetData
)
diff --git a/packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol b/packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol
index c26d7902c..fb9691fe8 100644
--- a/packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol
+++ b/packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol
@@ -18,6 +18,7 @@
pragma solidity 0.4.24;
+import "../../utils/LibBytes/LibBytes.sol";
import "../../protocol/Exchange/interfaces/IExchange.sol";
import "../../tokens/EtherToken/IEtherToken.sol";
import "../../tokens/ERC20Token/IERC20Token.sol";
@@ -25,6 +26,8 @@ import "../../tokens/ERC20Token/IERC20Token.sol";
contract LibConstants {
+ using LibBytes for bytes;
+
bytes4 constant internal ERC20_DATA_ID = bytes4(keccak256("ERC20Token(address)"));
bytes4 constant internal ERC721_DATA_ID = bytes4(keccak256("ERC721Token(address,uint256)"));
uint256 constant internal MAX_UINT = 2**256 - 1;
@@ -42,17 +45,18 @@ contract LibConstants {
constructor (
address _exchange,
- address _etherToken,
- address _zrxToken,
bytes memory _zrxAssetData,
bytes memory _wethAssetData
)
public
{
EXCHANGE = IExchange(_exchange);
- ETHER_TOKEN = IEtherToken(_etherToken);
- ZRX_TOKEN = IERC20Token(_zrxToken);
ZRX_ASSET_DATA = _zrxAssetData;
WETH_ASSET_DATA = _wethAssetData;
+
+ address etherToken = _wethAssetData.readAddress(16);
+ address zrxToken = _zrxAssetData.readAddress(16);
+ ETHER_TOKEN = IEtherToken(etherToken);
+ ZRX_TOKEN = IERC20Token(zrxToken);
}
}
diff --git a/packages/contracts/test/forwarder/forwarder.ts b/packages/contracts/test/forwarder/forwarder.ts
index 28ffdeabe..18101d684 100644
--- a/packages/contracts/test/forwarder/forwarder.ts
+++ b/packages/contracts/test/forwarder/forwarder.ts
@@ -131,8 +131,6 @@ describe(ContractName.Forwarder, () => {
provider,
txDefaults,
exchangeInstance.address,
- wethContract.address,
- zrxToken.address,
zrxAssetData,
wethAssetData,
);