aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol
diff options
context:
space:
mode:
authorAmir Bandeali <abandeali1@gmail.com>2018-07-08 14:23:22 +0800
committerAmir Bandeali <abandeali1@gmail.com>2018-07-08 14:23:22 +0800
commitf1613d36ac1381a978a97fd0ee7cd7bc95e7d66a (patch)
tree9520b2c87fff3f6759932dcecaf7ca718bb240c6 /packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol
parent8314bbbbac0101831bf8167c01e5ccf46663a2f0 (diff)
downloaddexon-sol-tools-f1613d36ac1381a978a97fd0ee7cd7bc95e7d66a.tar
dexon-sol-tools-f1613d36ac1381a978a97fd0ee7cd7bc95e7d66a.tar.gz
dexon-sol-tools-f1613d36ac1381a978a97fd0ee7cd7bc95e7d66a.tar.bz2
dexon-sol-tools-f1613d36ac1381a978a97fd0ee7cd7bc95e7d66a.tar.lz
dexon-sol-tools-f1613d36ac1381a978a97fd0ee7cd7bc95e7d66a.tar.xz
dexon-sol-tools-f1613d36ac1381a978a97fd0ee7cd7bc95e7d66a.tar.zst
dexon-sol-tools-f1613d36ac1381a978a97fd0ee7cd7bc95e7d66a.zip
Move functions out of Forwarder.sol
Diffstat (limited to 'packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol')
-rw-r--r--packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol15
1 files changed, 13 insertions, 2 deletions
diff --git a/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol b/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol
index dc80d109c..eadeaf5ba 100644
--- a/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol
+++ b/packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol
@@ -39,8 +39,19 @@ contract MixinForwarderCore is
MTransfer,
MForwarderCore
{
- bytes4 public constant ERC20_DATA_ID = bytes4(keccak256("ERC20Token(address)"));
- bytes4 public constant ERC721_DATA_ID = bytes4(keccak256("ERC721Token(address,uint256,bytes)"));
+ bytes4 constant internal ERC20_DATA_ID = bytes4(keccak256("ERC20Token(address)"));
+ bytes4 constant internal ERC721_DATA_ID = bytes4(keccak256("ERC721Token(address,uint256,bytes)"));
+ uint256 constant internal MAX_UINT = 2**256 - 1;
+
+ constructor ()
+ public
+ {
+ address proxyAddress = EXCHANGE.getAssetProxy(ERC20_DATA_ID);
+ if (proxyAddress != address(0)) {
+ ETHER_TOKEN.approve(proxyAddress, MAX_UINT);
+ ZRX_TOKEN.approve(proxyAddress, MAX_UINT);
+ }
+ }
/// @dev Market sells ETH for ERC20 tokens, performing fee abstraction if required. This does not support ERC721 tokens. This function is payable
/// and will convert all incoming ETH into WETH and perform the trade on behalf of the caller.