Merge pull request #1310 from 0xProject/feature/contracts-monorepo
Contracts monorepo I
This commit is contained in:
commit
5a16e78b54
4
.gitignore
vendored
4
.gitignore
vendored
@ -79,13 +79,13 @@ packages/react-docs/example/public/bundle*
|
|||||||
packages/testnet-faucets/server/
|
packages/testnet-faucets/server/
|
||||||
|
|
||||||
# generated contract artifacts/
|
# generated contract artifacts/
|
||||||
packages/contracts/generated-artifacts/
|
contracts/core/generated-artifacts/
|
||||||
packages/sol-cov/test/fixtures/artifacts/
|
packages/sol-cov/test/fixtures/artifacts/
|
||||||
packages/metacoin/artifacts/
|
packages/metacoin/artifacts/
|
||||||
|
|
||||||
# generated contract wrappers
|
# generated contract wrappers
|
||||||
packages/abi-gen-wrappers/wrappers
|
packages/abi-gen-wrappers/wrappers
|
||||||
packages/contracts/generated-wrappers/
|
contracts/core/generated-wrappers/
|
||||||
packages/metacoin/src/contract_wrappers
|
packages/metacoin/src/contract_wrappers
|
||||||
|
|
||||||
# solc-bin in sol-compiler
|
# solc-bin in sol-compiler
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
lib
|
lib
|
||||||
.nyc_output
|
.nyc_output
|
||||||
/packages/contracts/generated-wrappers
|
/contracts/core/generated-wrappers
|
||||||
/packages/contracts/generated-artifacts
|
/contracts/core/generated-artifacts
|
||||||
/packages/abi-gen-wrappers/src/generated-wrappers
|
/packages/abi-gen-wrappers/src/generated-wrappers
|
||||||
/packages/contract-artifacts/artifacts
|
/packages/contract-artifacts/artifacts
|
||||||
/python-packages/order_utils/src/zero_ex/contract_artifacts/artifacts
|
/python-packages/order_utils/src/zero_ex/contract_artifacts/artifacts
|
||||||
|
@ -32,4 +32,4 @@ packages/web3-wrapper/ @LogvinovLeon @fabioberger
|
|||||||
python-packages/ @feuGeneA
|
python-packages/ @feuGeneA
|
||||||
|
|
||||||
# Protocol/smart contracts
|
# Protocol/smart contracts
|
||||||
packages/contracts/test/ @albrow
|
contracts/core/test/ @albrow
|
||||||
|
@ -78,7 +78,7 @@ Visit our [developer portal](https://0xproject.com/docs/order-utils) for a compr
|
|||||||
|
|
||||||
| Package | Description |
|
| Package | Description |
|
||||||
| -------------------------------------------------- | ---------------------------------------------------------------- |
|
| -------------------------------------------------- | ---------------------------------------------------------------- |
|
||||||
| [`@0x/contracts`](/packages/contracts) | 0x protocol solidity smart contracts & tests |
|
| [`@0x/contracts`](/contracts/core) | 0x protocol solidity smart contracts & tests |
|
||||||
| [`@0x/testnet-faucets`](/packages/testnet-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether |
|
| [`@0x/testnet-faucets`](/packages/testnet-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether |
|
||||||
| [`@0x/website`](/packages/website) | 0x website |
|
| [`@0x/website`](/packages/website) | 0x website |
|
||||||
|
|
||||||
|
@ -92,53 +92,53 @@ contract ReentrantERC20Token is
|
|||||||
LibOrder.Order[] memory orders;
|
LibOrder.Order[] memory orders;
|
||||||
uint256[] memory takerAssetFillAmounts;
|
uint256[] memory takerAssetFillAmounts;
|
||||||
bytes[] memory signatures;
|
bytes[] memory signatures;
|
||||||
bytes memory calldata;
|
bytes memory callData;
|
||||||
|
|
||||||
// Create calldata for function that corresponds to currentFunctionId
|
// Create callData for function that corresponds to currentFunctionId
|
||||||
if (currentFunctionId == uint8(ExchangeFunction.FILL_ORDER)) {
|
if (currentFunctionId == uint8(ExchangeFunction.FILL_ORDER)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.fillOrder.selector,
|
EXCHANGE.fillOrder.selector,
|
||||||
order,
|
order,
|
||||||
0,
|
0,
|
||||||
signature
|
signature
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.FILL_OR_KILL_ORDER)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.FILL_OR_KILL_ORDER)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.fillOrKillOrder.selector,
|
EXCHANGE.fillOrKillOrder.selector,
|
||||||
order,
|
order,
|
||||||
0,
|
0,
|
||||||
signature
|
signature
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.BATCH_FILL_ORDERS)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.BATCH_FILL_ORDERS)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.batchFillOrders.selector,
|
EXCHANGE.batchFillOrders.selector,
|
||||||
orders,
|
orders,
|
||||||
takerAssetFillAmounts,
|
takerAssetFillAmounts,
|
||||||
signatures
|
signatures
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.BATCH_FILL_OR_KILL_ORDERS)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.BATCH_FILL_OR_KILL_ORDERS)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.batchFillOrKillOrders.selector,
|
EXCHANGE.batchFillOrKillOrders.selector,
|
||||||
orders,
|
orders,
|
||||||
takerAssetFillAmounts,
|
takerAssetFillAmounts,
|
||||||
signatures
|
signatures
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.MARKET_BUY_ORDERS)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.MARKET_BUY_ORDERS)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.marketBuyOrders.selector,
|
EXCHANGE.marketBuyOrders.selector,
|
||||||
orders,
|
orders,
|
||||||
0,
|
0,
|
||||||
signatures
|
signatures
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.MARKET_SELL_ORDERS)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.MARKET_SELL_ORDERS)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.marketSellOrders.selector,
|
EXCHANGE.marketSellOrders.selector,
|
||||||
orders,
|
orders,
|
||||||
0,
|
0,
|
||||||
signatures
|
signatures
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.MATCH_ORDERS)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.MATCH_ORDERS)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.matchOrders.selector,
|
EXCHANGE.matchOrders.selector,
|
||||||
order,
|
order,
|
||||||
order,
|
order,
|
||||||
@ -146,22 +146,22 @@ contract ReentrantERC20Token is
|
|||||||
signature
|
signature
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.CANCEL_ORDER)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.CANCEL_ORDER)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.cancelOrder.selector,
|
EXCHANGE.cancelOrder.selector,
|
||||||
order
|
order
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.BATCH_CANCEL_ORDERS)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.BATCH_CANCEL_ORDERS)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.batchCancelOrders.selector,
|
EXCHANGE.batchCancelOrders.selector,
|
||||||
orders
|
orders
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.CANCEL_ORDERS_UP_TO)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.CANCEL_ORDERS_UP_TO)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.cancelOrdersUpTo.selector,
|
EXCHANGE.cancelOrdersUpTo.selector,
|
||||||
0
|
0
|
||||||
);
|
);
|
||||||
} else if (currentFunctionId == uint8(ExchangeFunction.SET_SIGNATURE_VALIDATOR_APPROVAL)) {
|
} else if (currentFunctionId == uint8(ExchangeFunction.SET_SIGNATURE_VALIDATOR_APPROVAL)) {
|
||||||
calldata = abi.encodeWithSelector(
|
callData = abi.encodeWithSelector(
|
||||||
EXCHANGE.setSignatureValidatorApproval.selector,
|
EXCHANGE.setSignatureValidatorApproval.selector,
|
||||||
address(0),
|
address(0),
|
||||||
false
|
false
|
||||||
@ -169,7 +169,7 @@ contract ReentrantERC20Token is
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Call Exchange function, swallow error
|
// Call Exchange function, swallow error
|
||||||
address(EXCHANGE).call(calldata);
|
address(EXCHANGE).call(callData);
|
||||||
|
|
||||||
// Revert reason is 100 bytes
|
// Revert reason is 100 bytes
|
||||||
bytes memory returnData = new bytes(100);
|
bytes memory returnData = new bytes(100);
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user