diff options
author | Amir Bandeali <abandeali1@gmail.com> | 2018-07-08 14:23:22 +0800 |
---|---|---|
committer | Amir Bandeali <abandeali1@gmail.com> | 2018-07-08 14:23:22 +0800 |
commit | f1613d36ac1381a978a97fd0ee7cd7bc95e7d66a (patch) | |
tree | 9520b2c87fff3f6759932dcecaf7ca718bb240c6 /packages/contracts/src/2.0.0/forwarder/MixinForwarderCore.sol | |
parent | 8314bbbbac0101831bf8167c01e5ccf46663a2f0 (diff) | |
download | dexon-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.sol | 15 |
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. |