aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contracts/src/2.0.0/forwarder/mixins/MMarketBuyZrx.sol
diff options
context:
space:
mode:
authorAmir Bandeali <abandeali1@gmail.com>2018-07-08 13:57:09 +0800
committerAmir Bandeali <abandeali1@gmail.com>2018-07-08 13:57:09 +0800
commit8314bbbbac0101831bf8167c01e5ccf46663a2f0 (patch)
treeff6d2100884518336078c38a11312f096cda8ed4 /packages/contracts/src/2.0.0/forwarder/mixins/MMarketBuyZrx.sol
parent462f1f00d8151ad17f8909f2c07dbc807a0df87d (diff)
downloaddexon-sol-tools-8314bbbbac0101831bf8167c01e5ccf46663a2f0.tar
dexon-sol-tools-8314bbbbac0101831bf8167c01e5ccf46663a2f0.tar.gz
dexon-sol-tools-8314bbbbac0101831bf8167c01e5ccf46663a2f0.tar.bz2
dexon-sol-tools-8314bbbbac0101831bf8167c01e5ccf46663a2f0.tar.lz
dexon-sol-tools-8314bbbbac0101831bf8167c01e5ccf46663a2f0.tar.xz
dexon-sol-tools-8314bbbbac0101831bf8167c01e5ccf46663a2f0.tar.zst
dexon-sol-tools-8314bbbbac0101831bf8167c01e5ccf46663a2f0.zip
Add interfaces and mixins
Diffstat (limited to 'packages/contracts/src/2.0.0/forwarder/mixins/MMarketBuyZrx.sol')
-rw-r--r--packages/contracts/src/2.0.0/forwarder/mixins/MMarketBuyZrx.sol42
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/contracts/src/2.0.0/forwarder/mixins/MMarketBuyZrx.sol b/packages/contracts/src/2.0.0/forwarder/mixins/MMarketBuyZrx.sol
new file mode 100644
index 000000000..16ddf20fd
--- /dev/null
+++ b/packages/contracts/src/2.0.0/forwarder/mixins/MMarketBuyZrx.sol
@@ -0,0 +1,42 @@
+/*
+
+ 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/libs/LibFillResults.sol";
+import "../../protocol/Exchange/libs/LibOrder.sol";
+
+
+contract MMarketBuyZrx {
+
+ /// @dev Buys zrxBuyAmount of ZRX fee tokens, taking into account the fees on buying fee tokens. This will guarantee
+ /// At least zrxBuyAmount of ZRX fee tokens are purchased (sometimes slightly over due to rounding issues).
+ /// It is possible that a request to buy 200 ZRX fee tokens will require purchasing 202 ZRX tokens
+ /// As 2 ZRX is required to purchase the 200 ZRX fee tokens. This guarantees at least 200 ZRX for future purchases.
+ /// @param orders An array of Order struct containing order specifications for fees.
+ /// @param signatures An array of Proof that order has been created by maker for the fee orders.
+ /// @param zrxBuyAmount The number of requested ZRX fee tokens.
+ /// @return totalFillResults Amounts filled and fees paid by maker and taker. makerTokenAmount is the zrx amount deducted of fees
+ function marketBuyZrxInternal(
+ LibOrder.Order[] memory orders,
+ bytes[] memory signatures,
+ uint256 zrxBuyAmount
+ )
+ internal
+ returns (LibFillResults.FillResults memory totalFillResults);
+} \ No newline at end of file