aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--contracts/extensions/contracts/BalanceThresholdFilter/MixinBalanceThresholdFilterCore.sol28
-rw-r--r--contracts/libs/contracts/libs/LibExchangeSelectors.sol231
2 files changed, 130 insertions, 129 deletions
diff --git a/contracts/extensions/contracts/BalanceThresholdFilter/MixinBalanceThresholdFilterCore.sol b/contracts/extensions/contracts/BalanceThresholdFilter/MixinBalanceThresholdFilterCore.sol
index ab6989115..df830f36e 100644
--- a/contracts/extensions/contracts/BalanceThresholdFilter/MixinBalanceThresholdFilterCore.sol
+++ b/contracts/extensions/contracts/BalanceThresholdFilter/MixinBalanceThresholdFilterCore.sol
@@ -98,34 +98,34 @@ contract MixinBalanceThresholdFilterCore is
bytes4 exchangeFunctionSelector = bytes4(exchangeCalldataload(0));
// solhint-disable expression-indent
if (
- exchangeFunctionSelector == batchFillOrdersSelector ||
- exchangeFunctionSelector == batchFillOrdersNoThrowSelector ||
- exchangeFunctionSelector == batchFillOrKillOrdersSelector ||
- exchangeFunctionSelector == marketBuyOrdersSelector ||
- exchangeFunctionSelector == marketBuyOrdersNoThrowSelector ||
- exchangeFunctionSelector == marketSellOrdersSelector ||
- exchangeFunctionSelector == marketSellOrdersNoThrowSelector
+ exchangeFunctionSelector == BATCH_FILL_ORDERS_SELECTOR ||
+ exchangeFunctionSelector == BATCH_FILL_ORDERS_NO_THROW_SELECTOR ||
+ exchangeFunctionSelector == BATCH_FILL_OR_KILL_ORDERS_SELECTOR ||
+ exchangeFunctionSelector == MARKET_BUY_ORDERS_SELECTOR ||
+ exchangeFunctionSelector == MARKET_BUY_ORDERS_NO_THROW_SELECTOR ||
+ exchangeFunctionSelector == MARKET_SELL_ORDERS_SELECTOR ||
+ exchangeFunctionSelector == MARKET_SELL_ORDERS_NO_THROW_SELECTOR
) {
addressesToValidate = loadMakerAddressesFromOrderArray(0);
addressesToValidate = addressesToValidate.append(signerAddress);
} else if (
- exchangeFunctionSelector == fillOrderSelector ||
- exchangeFunctionSelector == fillOrderNoThrowSelector ||
- exchangeFunctionSelector == fillOrKillOrderSelector
+ exchangeFunctionSelector == FILL_ORDER_SELECTOR ||
+ exchangeFunctionSelector == FILL_ORDER_NO_THROW_SELECTOR ||
+ exchangeFunctionSelector == FILL_OR_KILL_ORDER_SELECTOR
) {
address makerAddress = loadMakerAddressFromOrder(0);
addressesToValidate = addressesToValidate.append(makerAddress);
addressesToValidate = addressesToValidate.append(signerAddress);
- } else if (exchangeFunctionSelector == matchOrdersSelector) {
+ } else if (exchangeFunctionSelector == MATCH_ORDERS_SELECTOR) {
address leftMakerAddress = loadMakerAddressFromOrder(0);
addressesToValidate = addressesToValidate.append(leftMakerAddress);
address rightMakerAddress = loadMakerAddressFromOrder(1);
addressesToValidate = addressesToValidate.append(rightMakerAddress);
addressesToValidate = addressesToValidate.append(signerAddress);
} else if (
- exchangeFunctionSelector != cancelOrderSelector &&
- exchangeFunctionSelector != batchCancelOrdersSelector &&
- exchangeFunctionSelector != cancelOrdersUpToSelector
+ exchangeFunctionSelector != CANCEL_ORDER_SELECTOR &&
+ exchangeFunctionSelector != BATCH_CANCEL_ORDERS_SELECTOR &&
+ exchangeFunctionSelector != CANCEL_ORDERS_UP_TO_SELECTOR
) {
revert("INVALID_OR_BLOCKED_EXCHANGE_SELECTOR");
}
diff --git a/contracts/libs/contracts/libs/LibExchangeSelectors.sol b/contracts/libs/contracts/libs/LibExchangeSelectors.sol
index 6a5344340..edb4f9cbd 100644
--- a/contracts/libs/contracts/libs/LibExchangeSelectors.sol
+++ b/contracts/libs/contracts/libs/LibExchangeSelectors.sol
@@ -21,131 +21,132 @@ pragma solidity 0.4.24;
contract LibExchangeSelectors {
- // allowedValidators
- bytes4 constant allowedValidatorsSelector = 0x7b8e3514;
- bytes4 constant allowedValidatorsSelectorGenerator = bytes4(keccak256('allowedValidators(address,address)'));
+ // solhint-disable max-line-length
+ // allowedValidators
+ bytes4 constant public ALLOWED_VALIDATORS_SELECTOR = 0x7b8e3514;
+ bytes4 constant public ALLOWED_VALIDATORS_SELECTOR_GENERATOR = bytes4(keccak256("allowedValidators(address,address)"));
- // assetProxies
- bytes4 constant assetProxiesSelector = 0x3fd3c997;
- bytes4 constant assetProxiesSelectorGenerator = bytes4(keccak256('assetProxies(bytes4)'));
+ // assetProxies
+ bytes4 constant public ASSET_PROXIES_SELECTOR = 0x3fd3c997;
+ bytes4 constant public ASSET_PROXIES_SELECTOR_GENERATOR = bytes4(keccak256("assetProxies(bytes4)"));
- // batchCancelOrders
- bytes4 constant batchCancelOrdersSelector = 0x4ac14782;
- bytes4 constant batchCancelOrdersSelectorGenerator = bytes4(keccak256('batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'));
+ // batchCancelOrders
+ bytes4 constant public BATCH_CANCEL_ORDERS_SELECTOR = 0x4ac14782;
+ bytes4 constant public BATCH_CANCEL_ORDERS_SELECTOR_GENERATOR = bytes4(keccak256("batchCancelOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])"));
- // batchFillOrKillOrders
- bytes4 constant batchFillOrKillOrdersSelector = 0x4d0ae546;
- bytes4 constant batchFillOrKillOrdersSelectorGenerator = bytes4(keccak256('batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'));
+ // batchFillOrKillOrders
+ bytes4 constant public BATCH_FILL_OR_KILL_ORDERS_SELECTOR = 0x4d0ae546;
+ bytes4 constant public BATCH_FILL_OR_KILL_ORDERS_SELECTOR_GENERATOR = bytes4(keccak256("batchFillOrKillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])"));
- // batchFillOrders
- bytes4 constant batchFillOrdersSelector = 0x297bb70b;
- bytes4 constant batchFillOrdersSelectorGenerator = bytes4(keccak256('batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'));
+ // batchFillOrders
+ bytes4 constant public BATCH_FILL_ORDERS_SELECTOR = 0x297bb70b;
+ bytes4 constant public BATCH_FILL_ORDERS_SELECTOR_GENERATOR = bytes4(keccak256("batchFillOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])"));
- // batchFillOrdersNoThrow
- bytes4 constant batchFillOrdersNoThrowSelector = 0x50dde190;
- bytes4 constant batchFillOrdersNoThrowSelectorGenerator = bytes4(keccak256('batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])'));
+ // batchFillOrdersNoThrow
+ bytes4 constant public BATCH_FILL_ORDERS_NO_THROW_SELECTOR = 0x50dde190;
+ bytes4 constant public BATCH_FILL_ORDERS_NO_THROW_SELECTOR_GENERATOR = bytes4(keccak256("batchFillOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256[],bytes[])"));
- // cancelOrder
- bytes4 constant cancelOrderSelector = 0xd46b02c3;
- bytes4 constant cancelOrderSelectorGenerator = bytes4(keccak256('cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'));
+ // cancelOrder
+ bytes4 constant public CANCEL_ORDER_SELECTOR = 0xd46b02c3;
+ bytes4 constant public CANCEL_ORDER_SELECTOR_GENERATOR = bytes4(keccak256("cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))"));
+
+ // cancelOrdersUpTo
+ bytes4 constant public CANCEL_ORDERS_UP_TO_SELECTOR = 0x4f9559b1;
+ bytes4 constant public CANCEL_ORDERS_UP_TO_SELECTOR_GENERATOR = bytes4(keccak256("cancelOrdersUpTo(uint256)"));
+
+ // cancelled
+ bytes4 constant public CANCELLED_SELECTOR = 0x2ac12622;
+ bytes4 constant public CANCELLED_SELECTOR_GENERATOR = bytes4(keccak256("cancelled(bytes32)"));
+
+ // currentContextAddress
+ bytes4 constant public CURRENT_CONTEXT_ADDRESS_SELECTOR = 0xeea086ba;
+ bytes4 constant public CURRENT_CONTEXT_ADDRESS_SELECTOR_GENERATOR = bytes4(keccak256("currentContextAddress()"));
+
+ // executeTransaction
+ bytes4 constant public EXECUTE_TRANSACTION_SELECTOR = 0xbfc8bfce;
+ bytes4 constant public EXECUTE_TRANSACTION_SELECTOR_GENERATOR = bytes4(keccak256("executeTransaction(uint256,address,bytes,bytes)"));
+
+ // fillOrKillOrder
+ bytes4 constant public FILL_OR_KILL_ORDER_SELECTOR = 0x64a3bc15;
+ bytes4 constant public FILL_OR_KILL_ORDER_SELECTOR_GENERATOR = bytes4(keccak256("fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)"));
+
+ // fillOrder
+ bytes4 constant public FILL_ORDER_SELECTOR = 0xb4be83d5;
+ bytes4 constant public FILL_ORDER_SELECTOR_GENERATOR = bytes4(keccak256("fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)"));
+
+ // fillOrderNoThrow
+ bytes4 constant public FILL_ORDER_NO_THROW_SELECTOR = 0x3e228bae;
+ bytes4 constant public FILL_ORDER_NO_THROW_SELECTOR_GENERATOR = bytes4(keccak256("fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)"));
+
+ // filled
+ bytes4 constant public FILLED_SELECTOR = 0x288cdc91;
+ bytes4 constant public FILLED_SELECTOR_GENERATOR = bytes4(keccak256("filled(bytes32)"));
+
+ // getAssetProxy
+ bytes4 constant public GET_ASSET_PROXY_SELECTOR = 0x60704108;
+ bytes4 constant public GET_ASSET_PROXY_SELECTOR_GENERATOR = bytes4(keccak256("getAssetProxy(bytes4)"));
+
+ // getOrderInfo
+ bytes4 constant public GET_ORDER_INFO_SELECTOR = 0xc75e0a81;
+ bytes4 constant public GET_ORDER_INFO_SELECTOR_GENERATOR = bytes4(keccak256("getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))"));
+
+ // getOrdersInfo
+ bytes4 constant public GET_ORDERS_INFO_SELECTOR = 0x7e9d74dc;
+ bytes4 constant public GET_ORDERS_INFO_SELECTOR_GENERATOR = bytes4(keccak256("getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])"));
+
+ // isValidSignature
+ bytes4 constant public IS_VALID_SIGNATURE_SELECTOR = 0x93634702;
+ bytes4 constant public IS_VALID_SIGNATURE_SELECTOR_GENERATOR = bytes4(keccak256("isValidSignature(bytes32,address,bytes)"));
+
+ // marketBuyOrders
+ bytes4 constant public MARKET_BUY_ORDERS_SELECTOR = 0xe5fa431b;
+ bytes4 constant public MARKET_BUY_ORDERS_SELECTOR_GENERATOR = bytes4(keccak256("marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])"));
+
+ // marketBuyOrdersNoThrow
+ bytes4 constant public MARKET_BUY_ORDERS_NO_THROW_SELECTOR = 0xa3e20380;
+ bytes4 constant public MARKET_BUY_ORDERS_NO_THROW_SELECTOR_GENERATOR = bytes4(keccak256("marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])"));
+
+ // marketSellOrders
+ bytes4 constant public MARKET_SELL_ORDERS_SELECTOR = 0x7e1d9808;
+ bytes4 constant public MARKET_SELL_ORDERS_SELECTOR_GENERATOR = bytes4(keccak256("marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])"));
+
+ // marketSellOrdersNoThrow
+ bytes4 constant public MARKET_SELL_ORDERS_NO_THROW_SELECTOR = 0xdd1c7d18;
+ bytes4 constant public MARKET_SELL_ORDERS_NO_THROW_SELECTOR_GENERATOR = bytes4(keccak256("marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])"));
+
+ // matchOrders
+ bytes4 constant public MATCH_ORDERS_SELECTOR = 0x3c28d861;
+ bytes4 constant public MATCH_ORDERS_SELECTOR_GENERATOR = bytes4(keccak256("matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)"));
+
+ // orderEpoch
+ bytes4 constant public ORDER_EPOCH_SELECTOR = 0xd9bfa73e;
+ bytes4 constant public ORDER_EPOCH_SELECTOR_GENERATOR = bytes4(keccak256("orderEpoch(address,address)"));
+
+ // owner
+ bytes4 constant public OWNER_SELECTOR = 0x8da5cb5b;
+ bytes4 constant public OWNER_SELECTOR_GENERATOR = bytes4(keccak256("owner()"));
- // cancelOrdersUpTo
- bytes4 constant cancelOrdersUpToSelector = 0x4f9559b1;
- bytes4 constant cancelOrdersUpToSelectorGenerator = bytes4(keccak256('cancelOrdersUpTo(uint256)'));
+ // preSign
+ bytes4 constant public PRE_SIGN_SELECTOR = 0x3683ef8e;
+ bytes4 constant public PRE_SIGN_SELECTOR_GENERATOR = bytes4(keccak256("preSign(bytes32,address,bytes)"));
- // cancelled
- bytes4 constant cancelledSelector = 0x2ac12622;
- bytes4 constant cancelledSelectorGenerator = bytes4(keccak256('cancelled(bytes32)'));
+ // preSigned
+ bytes4 constant public PRE_SIGNED_SELECTOR = 0x82c174d0;
+ bytes4 constant public PRE_SIGNED_SELECTOR_GENERATOR = bytes4(keccak256("preSigned(bytes32,address)"));
- // currentContextAddress
- bytes4 constant currentContextAddressSelector = 0xeea086ba;
- bytes4 constant currentContextAddressSelectorGenerator = bytes4(keccak256('currentContextAddress()'));
+ // registerAssetProxy
+ bytes4 constant public REGISTER_ASSET_PROXY_SELECTOR = 0xc585bb93;
+ bytes4 constant public REGISTER_ASSET_PROXY_SELECTOR_GENERATOR = bytes4(keccak256("registerAssetProxy(address)"));
- // executeTransaction
- bytes4 constant executeTransactionSelector = 0xbfc8bfce;
- bytes4 constant executeTransactionSelectorGenerator = bytes4(keccak256('executeTransaction(uint256,address,bytes,bytes)'));
+ // setSignatureValidatorApproval
+ bytes4 constant public SET_SIGNATURE_VALIDATOR_APPROVAL_SELECTOR = 0x77fcce68;
+ bytes4 constant public SET_SIGNATURE_VALIDATOR_APPROVAL_SELECTOR_GENERATOR = bytes4(keccak256("setSignatureValidatorApproval(address,bool)"));
- // fillOrKillOrder
- bytes4 constant fillOrKillOrderSelector = 0x64a3bc15;
- bytes4 constant fillOrKillOrderSelectorGenerator = bytes4(keccak256('fillOrKillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'));
+ // transactions
+ bytes4 constant public TRANSACTIONS_SELECTOR = 0x642f2eaf;
+ bytes4 constant public TRANSACTIONS_SELECTOR_GENERATOR = bytes4(keccak256("transactions(bytes32)"));
- // fillOrder
- bytes4 constant fillOrderSelector = 0xb4be83d5;
- bytes4 constant fillOrderSelectorGenerator = bytes4(keccak256('fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'));
-
- // fillOrderNoThrow
- bytes4 constant fillOrderNoThrowSelector = 0x3e228bae;
- bytes4 constant fillOrderNoThrowSelectorGenerator = bytes4(keccak256('fillOrderNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)'));
-
- // filled
- bytes4 constant filledSelector = 0x288cdc91;
- bytes4 constant filledSelectorGenerator = bytes4(keccak256('filled(bytes32)'));
-
- // getAssetProxy
- bytes4 constant getAssetProxySelector = 0x60704108;
- bytes4 constant getAssetProxySelectorGenerator = bytes4(keccak256('getAssetProxy(bytes4)'));
-
- // getOrderInfo
- bytes4 constant getOrderInfoSelector = 0xc75e0a81;
- bytes4 constant getOrderInfoSelectorGenerator = bytes4(keccak256('getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))'));
-
- // getOrdersInfo
- bytes4 constant getOrdersInfoSelector = 0x7e9d74dc;
- bytes4 constant getOrdersInfoSelectorGenerator = bytes4(keccak256('getOrdersInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[])'));
-
- // isValidSignature
- bytes4 constant isValidSignatureSelector = 0x93634702;
- bytes4 constant isValidSignatureSelectorGenerator = bytes4(keccak256('isValidSignature(bytes32,address,bytes)'));
-
- // marketBuyOrders
- bytes4 constant marketBuyOrdersSelector = 0xe5fa431b;
- bytes4 constant marketBuyOrdersSelectorGenerator = bytes4(keccak256('marketBuyOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'));
-
- // marketBuyOrdersNoThrow
- bytes4 constant marketBuyOrdersNoThrowSelector = 0xa3e20380;
- bytes4 constant marketBuyOrdersNoThrowSelectorGenerator = bytes4(keccak256('marketBuyOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'));
-
- // marketSellOrders
- bytes4 constant marketSellOrdersSelector = 0x7e1d9808;
- bytes4 constant marketSellOrdersSelectorGenerator = bytes4(keccak256('marketSellOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'));
-
- // marketSellOrdersNoThrow
- bytes4 constant marketSellOrdersNoThrowSelector = 0xdd1c7d18;
- bytes4 constant marketSellOrdersNoThrowSelectorGenerator = bytes4(keccak256('marketSellOrdersNoThrow((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes)[],uint256,bytes[])'));
-
- // matchOrders
- bytes4 constant matchOrdersSelector = 0x3c28d861;
- bytes4 constant matchOrdersSelectorGenerator = bytes4(keccak256('matchOrders((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),(address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),bytes,bytes)'));
-
- // orderEpoch
- bytes4 constant orderEpochSelector = 0xd9bfa73e;
- bytes4 constant orderEpochSelectorGenerator = bytes4(keccak256('orderEpoch(address,address)'));
-
- // owner
- bytes4 constant ownerSelector = 0x8da5cb5b;
- bytes4 constant ownerSelectorGenerator = bytes4(keccak256('owner()'));
-
- // preSign
- bytes4 constant preSignSelector = 0x3683ef8e;
- bytes4 constant preSignSelectorGenerator = bytes4(keccak256('preSign(bytes32,address,bytes)'));
-
- // preSigned
- bytes4 constant preSignedSelector = 0x82c174d0;
- bytes4 constant preSignedSelectorGenerator = bytes4(keccak256('preSigned(bytes32,address)'));
-
- // registerAssetProxy
- bytes4 constant registerAssetProxySelector = 0xc585bb93;
- bytes4 constant registerAssetProxySelectorGenerator = bytes4(keccak256('registerAssetProxy(address)'));
-
- // setSignatureValidatorApproval
- bytes4 constant setSignatureValidatorApprovalSelector = 0x77fcce68;
- bytes4 constant setSignatureValidatorApprovalSelectorGenerator = bytes4(keccak256('setSignatureValidatorApproval(address,bool)'));
-
- // transactions
- bytes4 constant transactionsSelector = 0x642f2eaf;
- bytes4 constant transactionsSelectorGenerator = bytes4(keccak256('transactions(bytes32)'));
-
- // transferOwnership
- bytes4 constant transferOwnershipSelector = 0xf2fde38b;
- bytes4 constant transferOwnershipSelectorGenerator = bytes4(keccak256('transferOwnership(address)'));
+ // transferOwnership
+ bytes4 constant public TRANSFER_OWNERSHIP_SELECTOR = 0xf2fde38b;
+ bytes4 constant public TRANSFER_OWNERSHIP_SELECTOR_GENERATOR = bytes4(keccak256("transferOwnership(address)"));
} \ No newline at end of file