aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol
diff options
context:
space:
mode:
authorfragosti <francesco.agosti93@gmail.com>2018-07-26 01:33:13 +0800
committerfragosti <francesco.agosti93@gmail.com>2018-07-26 01:33:13 +0800
commitda4b70fcae1da2c35905a30b79707b3f27b9fa3a (patch)
tree65dbdb8f75c8e93cd788149610522f5bf5ada643 /packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol
parentad4c2b95e4722e6d227c26f436bedf7b06f5356a (diff)
parent05b35c0fdcbca7980d4195e96ec791c1c2d13398 (diff)
downloaddexon-sol-tools-da4b70fcae1da2c35905a30b79707b3f27b9fa3a.tar
dexon-sol-tools-da4b70fcae1da2c35905a30b79707b3f27b9fa3a.tar.gz
dexon-sol-tools-da4b70fcae1da2c35905a30b79707b3f27b9fa3a.tar.bz2
dexon-sol-tools-da4b70fcae1da2c35905a30b79707b3f27b9fa3a.tar.lz
dexon-sol-tools-da4b70fcae1da2c35905a30b79707b3f27b9fa3a.tar.xz
dexon-sol-tools-da4b70fcae1da2c35905a30b79707b3f27b9fa3a.tar.zst
dexon-sol-tools-da4b70fcae1da2c35905a30b79707b3f27b9fa3a.zip
Merge branch 'v2-prototype' of https://github.com/0xProject/0x-monorepo into feature/web3-wrapper/unexport-marshaller
Diffstat (limited to 'packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol')
-rw-r--r--packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol58
1 files changed, 58 insertions, 0 deletions
diff --git a/packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol b/packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol
new file mode 100644
index 000000000..c26d7902c
--- /dev/null
+++ b/packages/contracts/src/2.0.0/forwarder/libs/LibConstants.sol
@@ -0,0 +1,58 @@
+/*
+
+ Copyright 2018 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.4.24;
+
+import "../../protocol/Exchange/interfaces/IExchange.sol";
+import "../../tokens/EtherToken/IEtherToken.sol";
+import "../../tokens/ERC20Token/IERC20Token.sol";
+
+
+contract LibConstants {
+
+ 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;
+ uint256 constant internal PERCENTAGE_DENOMINATOR = 10**18;
+ uint256 constant internal MAX_FEE_PERCENTAGE = 5 * PERCENTAGE_DENOMINATOR / 100; // 5%
+ uint256 constant internal MAX_WETH_FILL_PERCENTAGE = 95 * PERCENTAGE_DENOMINATOR / 100; // 95%
+
+ // solhint-disable var-name-mixedcase
+ IExchange internal EXCHANGE;
+ IEtherToken internal ETHER_TOKEN;
+ IERC20Token internal ZRX_TOKEN;
+ bytes internal ZRX_ASSET_DATA;
+ bytes internal WETH_ASSET_DATA;
+ // solhint-enable var-name-mixedcase
+
+ 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;
+ }
+}