From 9fa86195900383640f382850f6fe0d827d48bb9b Mon Sep 17 00:00:00 2001 From: Amir Bandeali Date: Mon, 21 Jan 2019 12:06:44 -0800 Subject: Move contents of examples and interfaces packages into corresponding packages --- contracts/interfaces/CHANGELOG.json | 56 -------- contracts/interfaces/CHANGELOG.md | 26 ---- contracts/interfaces/README.md | 72 ---------- contracts/interfaces/compiler.json | 35 ----- .../contracts/protocol/AssetProxy/IAssetData.sol | 44 ------ .../contracts/protocol/AssetProxy/IAssetProxy.sol | 46 ------ .../protocol/AssetProxy/IAuthorizable.sol | 52 ------- .../protocol/Exchange/IAssetProxyDispatcher.sol | 37 ----- .../contracts/protocol/Exchange/IExchange.sol | 38 ----- .../contracts/protocol/Exchange/IExchangeCore.sol | 60 -------- .../contracts/protocol/Exchange/IMatchOrders.sol | 44 ------ .../protocol/Exchange/ISignatureValidator.sol | 57 -------- .../contracts/protocol/Exchange/ITransactions.sol | 35 ----- .../contracts/protocol/Exchange/IValidator.sol | 37 ----- .../contracts/protocol/Exchange/IWallet.sol | 35 ----- .../protocol/Exchange/IWrapperFunctions.sol | 160 --------------------- contracts/interfaces/package.json | 57 -------- contracts/interfaces/src/artifacts/index.ts | 29 ---- contracts/interfaces/src/index.ts | 2 - contracts/interfaces/src/wrappers/index.ts | 12 -- contracts/interfaces/tsconfig.json | 24 ---- contracts/interfaces/tslint.json | 6 - 22 files changed, 964 deletions(-) delete mode 100644 contracts/interfaces/CHANGELOG.json delete mode 100644 contracts/interfaces/CHANGELOG.md delete mode 100644 contracts/interfaces/README.md delete mode 100644 contracts/interfaces/compiler.json delete mode 100644 contracts/interfaces/contracts/protocol/AssetProxy/IAssetData.sol delete mode 100644 contracts/interfaces/contracts/protocol/AssetProxy/IAssetProxy.sol delete mode 100644 contracts/interfaces/contracts/protocol/AssetProxy/IAuthorizable.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/IAssetProxyDispatcher.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/IExchange.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/IExchangeCore.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/IMatchOrders.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/ISignatureValidator.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/ITransactions.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/IValidator.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/IWallet.sol delete mode 100644 contracts/interfaces/contracts/protocol/Exchange/IWrapperFunctions.sol delete mode 100644 contracts/interfaces/package.json delete mode 100644 contracts/interfaces/src/artifacts/index.ts delete mode 100644 contracts/interfaces/src/index.ts delete mode 100644 contracts/interfaces/src/wrappers/index.ts delete mode 100644 contracts/interfaces/tsconfig.json delete mode 100644 contracts/interfaces/tslint.json (limited to 'contracts/interfaces') diff --git a/contracts/interfaces/CHANGELOG.json b/contracts/interfaces/CHANGELOG.json deleted file mode 100644 index 724ab1e4a..000000000 --- a/contracts/interfaces/CHANGELOG.json +++ /dev/null @@ -1,56 +0,0 @@ -[ - { - "version": "2.0.0", - "changes": [ - { - "note": "Upgrade the bignumber.js to v8.0.2", - "pr": 1517 - } - ] - }, - { - "timestamp": 1547747677, - "version": "1.0.6", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1547561734, - "version": "1.0.5", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1547225310, - "version": "1.0.4", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1547040760, - "version": "1.0.3", - "changes": [ - { - "note": "Dependencies updated" - } - ] - }, - { - "timestamp": 1544741676, - "version": "1.0.2", - "changes": [ - { - "note": "Dependencies updated" - } - ] - } -] diff --git a/contracts/interfaces/CHANGELOG.md b/contracts/interfaces/CHANGELOG.md deleted file mode 100644 index 59d0804da..000000000 --- a/contracts/interfaces/CHANGELOG.md +++ /dev/null @@ -1,26 +0,0 @@ - - -CHANGELOG - -## v1.0.6 - _January 17, 2019_ - - * Dependencies updated - -## v1.0.5 - _January 15, 2019_ - - * Dependencies updated - -## v1.0.4 - _January 11, 2019_ - - * Dependencies updated - -## v1.0.3 - _January 9, 2019_ - - * Dependencies updated - -## v1.0.2 - _December 13, 2018_ - - * Dependencies updated diff --git a/contracts/interfaces/README.md b/contracts/interfaces/README.md deleted file mode 100644 index 81dd4c3ac..000000000 --- a/contracts/interfaces/README.md +++ /dev/null @@ -1,72 +0,0 @@ -## Contract interfaces - -Smart contract interfaces of the 0x protocol. - -## Usage - -Contracts that make up and interact with version 2.0.0 of the protocol can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories: - -- [protocol](./contracts/protocol) - - This directory contains the contract interfaces that make up version 2.0.0. A full specification can be found [here](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md). - -## Bug bounty - -A bug bounty for the 2.0.0 contracts is ongoing! Instructions can be found [here](https://0xproject.com/wiki#Bug-Bounty). - -## Contributing - -We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository. - -For proposals regarding the 0x protocol's smart contract architecture, message format, or additional functionality, go to the [0x Improvement Proposals (ZEIPs)](https://github.com/0xProject/ZEIPs) repository and follow the contribution guidelines provided therein. - -Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started. - -### Install Dependencies - -If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them: - -```bash -yarn config set workspaces-experimental true -``` - -Then install dependencies - -```bash -yarn install -``` - -### Build - -To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory: - -```bash -PKG=@0x/contracts-interfaces yarn build -``` - -Or continuously rebuild on change: - -```bash -PKG=@0x/contracts-interfaces yarn watch -``` - -### Clean - -```bash -yarn clean -``` - -### Lint - -```bash -yarn lint -``` - -### Run Tests - -```bash -yarn test -``` - -#### Testing options - -Contracts testing options like coverage, profiling, revert traces or backing node choosing - are described [here](../TESTING.md). diff --git a/contracts/interfaces/compiler.json b/contracts/interfaces/compiler.json deleted file mode 100644 index 38a232541..000000000 --- a/contracts/interfaces/compiler.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "artifactsDir": "./generated-artifacts", - "contractsDir": "./contracts", - "compilerSettings": { - "optimizer": { - "enabled": true, - "runs": 1000000 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode.object", - "evm.bytecode.sourceMap", - "evm.deployedBytecode.object", - "evm.deployedBytecode.sourceMap" - ] - } - } - }, - "contracts": [ - "IAssetData", - "IAssetProxy", - "IAuthorizable", - "IAssetProxyDispatcher", - "IExchange", - "IExchangeCore", - "IMatchOrders", - "ISignatureValidator", - "ITransactions", - "IValidator", - "IWallet", - "IWrapperFunctions" - ] -} diff --git a/contracts/interfaces/contracts/protocol/AssetProxy/IAssetData.sol b/contracts/interfaces/contracts/protocol/AssetProxy/IAssetData.sol deleted file mode 100644 index a130e615f..000000000 --- a/contracts/interfaces/contracts/protocol/AssetProxy/IAssetData.sol +++ /dev/null @@ -1,44 +0,0 @@ -/* - - 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. - -*/ - -// solhint-disable -pragma solidity ^0.4.24; -pragma experimental ABIEncoderV2; - - -// @dev Interface of the asset proxy's assetData. -// The asset proxies take an ABI encoded `bytes assetData` as argument. -// This argument is ABI encoded as one of the methods of this interface. -interface IAssetData { - - function ERC20Token(address tokenContract) - external; - - function ERC721Token( - address tokenContract, - uint256 tokenId - ) - external; - - function MultiAsset( - uint256[] amounts, - bytes[] nestedAssetData - ) - external; - -} diff --git a/contracts/interfaces/contracts/protocol/AssetProxy/IAssetProxy.sol b/contracts/interfaces/contracts/protocol/AssetProxy/IAssetProxy.sol deleted file mode 100644 index 706412dd0..000000000 --- a/contracts/interfaces/contracts/protocol/AssetProxy/IAssetProxy.sol +++ /dev/null @@ -1,46 +0,0 @@ -/* - - 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 "./IAuthorizable.sol"; - - -contract IAssetProxy is - IAuthorizable -{ - /// @dev Transfers assets. Either succeeds or throws. - /// @param assetData Byte array encoded for the respective asset proxy. - /// @param from Address to transfer asset from. - /// @param to Address to transfer asset to. - /// @param amount Amount of asset to transfer. - function transferFrom( - bytes assetData, - address from, - address to, - uint256 amount - ) - external; - - /// @dev Gets the proxy id associated with the proxy address. - /// @return Proxy id. - function getProxyId() - external - pure - returns (bytes4); -} diff --git a/contracts/interfaces/contracts/protocol/AssetProxy/IAuthorizable.sol b/contracts/interfaces/contracts/protocol/AssetProxy/IAuthorizable.sol deleted file mode 100644 index bddd40047..000000000 --- a/contracts/interfaces/contracts/protocol/AssetProxy/IAuthorizable.sol +++ /dev/null @@ -1,52 +0,0 @@ -/* - - 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 "@0x/contracts-utils/contracts/utils/interfaces/IOwnable.sol"; - - -contract IAuthorizable is - IOwnable -{ - /// @dev Authorizes an address. - /// @param target Address to authorize. - function addAuthorizedAddress(address target) - external; - - /// @dev Removes authorizion of an address. - /// @param target Address to remove authorization from. - function removeAuthorizedAddress(address target) - external; - - /// @dev Removes authorizion of an address. - /// @param target Address to remove authorization from. - /// @param index Index of target in authorities array. - function removeAuthorizedAddressAtIndex( - address target, - uint256 index - ) - external; - - /// @dev Gets all authorized addresses. - /// @return Array of authorized addresses. - function getAuthorizedAddresses() - external - view - returns (address[] memory); -} diff --git a/contracts/interfaces/contracts/protocol/Exchange/IAssetProxyDispatcher.sol b/contracts/interfaces/contracts/protocol/Exchange/IAssetProxyDispatcher.sol deleted file mode 100644 index b73881c07..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/IAssetProxyDispatcher.sol +++ /dev/null @@ -1,37 +0,0 @@ -/* - - 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; - - -contract IAssetProxyDispatcher { - - /// @dev Registers an asset proxy to its asset proxy id. - /// Once an asset proxy is registered, it cannot be unregistered. - /// @param assetProxy Address of new asset proxy to register. - function registerAssetProxy(address assetProxy) - external; - - /// @dev Gets an asset proxy. - /// @param assetProxyId Id of the asset proxy. - /// @return The asset proxy registered to assetProxyId. Returns 0x0 if no proxy is registered. - function getAssetProxy(bytes4 assetProxyId) - external - view - returns (address); -} diff --git a/contracts/interfaces/contracts/protocol/Exchange/IExchange.sol b/contracts/interfaces/contracts/protocol/Exchange/IExchange.sol deleted file mode 100644 index 866e4c194..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/IExchange.sol +++ /dev/null @@ -1,38 +0,0 @@ -/* - - 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; -pragma experimental ABIEncoderV2; - -import "./IExchangeCore.sol"; -import "./IMatchOrders.sol"; -import "./ISignatureValidator.sol"; -import "./ITransactions.sol"; -import "./IAssetProxyDispatcher.sol"; -import "./IWrapperFunctions.sol"; - - -// solhint-disable no-empty-blocks -contract IExchange is - IExchangeCore, - IMatchOrders, - ISignatureValidator, - ITransactions, - IAssetProxyDispatcher, - IWrapperFunctions -{} diff --git a/contracts/interfaces/contracts/protocol/Exchange/IExchangeCore.sol b/contracts/interfaces/contracts/protocol/Exchange/IExchangeCore.sol deleted file mode 100644 index 343ea67f0..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/IExchangeCore.sol +++ /dev/null @@ -1,60 +0,0 @@ -/* - - 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; -pragma experimental ABIEncoderV2; - -import "@0x/contracts-exchange-libs/contracts/exchange-libs/LibOrder.sol"; -import "@0x/contracts-exchange-libs/contracts/exchange-libs/LibFillResults.sol"; - - -contract IExchangeCore { - - /// @dev Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch - /// and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress). - /// @param targetOrderEpoch Orders created with a salt less or equal to this value will be cancelled. - function cancelOrdersUpTo(uint256 targetOrderEpoch) - external; - - /// @dev Fills the input order. - /// @param order Order struct containing order specifications. - /// @param takerAssetFillAmount Desired amount of takerAsset to sell. - /// @param signature Proof that order has been created by maker. - /// @return Amounts filled and fees paid by maker and taker. - function fillOrder( - LibOrder.Order memory order, - uint256 takerAssetFillAmount, - bytes memory signature - ) - public - returns (LibFillResults.FillResults memory fillResults); - - /// @dev After calling, the order can not be filled anymore. - /// @param order Order struct containing order specifications. - function cancelOrder(LibOrder.Order memory order) - public; - - /// @dev Gets information about an order: status, hash, and amount filled. - /// @param order Order to gather information on. - /// @return OrderInfo Information about the order and its state. - /// See LibOrder.OrderInfo for a complete description. - function getOrderInfo(LibOrder.Order memory order) - public - view - returns (LibOrder.OrderInfo memory orderInfo); -} diff --git a/contracts/interfaces/contracts/protocol/Exchange/IMatchOrders.sol b/contracts/interfaces/contracts/protocol/Exchange/IMatchOrders.sol deleted file mode 100644 index 656547b56..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/IMatchOrders.sol +++ /dev/null @@ -1,44 +0,0 @@ -/* - - 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; -pragma experimental ABIEncoderV2; - -import "@0x/contracts-exchange-libs/contracts/exchange-libs/LibOrder.sol"; -import "@0x/contracts-exchange-libs/contracts/exchange-libs/LibFillResults.sol"; - - -contract IMatchOrders { - - /// @dev Match two complementary orders that have a profitable spread. - /// Each order is filled at their respective price point. However, the calculations are - /// carried out as though the orders are both being filled at the right order's price point. - /// The profit made by the left order goes to the taker (who matched the two orders). - /// @param leftOrder First order to match. - /// @param rightOrder Second order to match. - /// @param leftSignature Proof that order was created by the left maker. - /// @param rightSignature Proof that order was created by the right maker. - /// @return matchedFillResults Amounts filled and fees paid by maker and taker of matched orders. - function matchOrders( - LibOrder.Order memory leftOrder, - LibOrder.Order memory rightOrder, - bytes memory leftSignature, - bytes memory rightSignature - ) - public - returns (LibFillResults.MatchedFillResults memory matchedFillResults); -} diff --git a/contracts/interfaces/contracts/protocol/Exchange/ISignatureValidator.sol b/contracts/interfaces/contracts/protocol/Exchange/ISignatureValidator.sol deleted file mode 100644 index c5a4a57e1..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/ISignatureValidator.sol +++ /dev/null @@ -1,57 +0,0 @@ -/* - - 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; - - -contract ISignatureValidator { - - /// @dev Approves a hash on-chain using any valid signature type. - /// After presigning a hash, the preSign signature type will become valid for that hash and signer. - /// @param signerAddress Address that should have signed the given hash. - /// @param signature Proof that the hash has been signed by signer. - function preSign( - bytes32 hash, - address signerAddress, - bytes signature - ) - external; - - /// @dev Approves/unnapproves a Validator contract to verify signatures on signer's behalf. - /// @param validatorAddress Address of Validator contract. - /// @param approval Approval or disapproval of Validator contract. - function setSignatureValidatorApproval( - address validatorAddress, - bool approval - ) - external; - - /// @dev Verifies that a signature is valid. - /// @param hash Message hash that is signed. - /// @param signerAddress Address of signer. - /// @param signature Proof of signing. - /// @return Validity of order signature. - function isValidSignature( - bytes32 hash, - address signerAddress, - bytes memory signature - ) - public - view - returns (bool isValid); -} diff --git a/contracts/interfaces/contracts/protocol/Exchange/ITransactions.sol b/contracts/interfaces/contracts/protocol/Exchange/ITransactions.sol deleted file mode 100644 index aaaee389f..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/ITransactions.sol +++ /dev/null @@ -1,35 +0,0 @@ -/* - - 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; - - -contract ITransactions { - - /// @dev Executes an exchange method call in the context of signer. - /// @param salt Arbitrary number to ensure uniqueness of transaction hash. - /// @param signerAddress Address of transaction signer. - /// @param data AbiV2 encoded calldata. - /// @param signature Proof of signer transaction by signer. - function executeTransaction( - uint256 salt, - address signerAddress, - bytes data, - bytes signature - ) - external; -} diff --git a/contracts/interfaces/contracts/protocol/Exchange/IValidator.sol b/contracts/interfaces/contracts/protocol/Exchange/IValidator.sol deleted file mode 100644 index d214e54dd..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/IValidator.sol +++ /dev/null @@ -1,37 +0,0 @@ -/* - - 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; - - -contract IValidator { - - /// @dev Verifies that a signature is valid. - /// @param hash Message hash that is signed. - /// @param signerAddress Address that should have signed the given hash. - /// @param signature Proof of signing. - /// @return Validity of order signature. - function isValidSignature( - bytes32 hash, - address signerAddress, - bytes signature - ) - external - view - returns (bool isValid); -} diff --git a/contracts/interfaces/contracts/protocol/Exchange/IWallet.sol b/contracts/interfaces/contracts/protocol/Exchange/IWallet.sol deleted file mode 100644 index c2db4a5b1..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/IWallet.sol +++ /dev/null @@ -1,35 +0,0 @@ -/* - - 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; - - -contract IWallet { - - /// @dev Verifies that a signature is valid. - /// @param hash Message hash that is signed. - /// @param signature Proof of signing. - /// @return Validity of order signature. - function isValidSignature( - bytes32 hash, - bytes signature - ) - external - view - returns (bool isValid); -} diff --git a/contracts/interfaces/contracts/protocol/Exchange/IWrapperFunctions.sol b/contracts/interfaces/contracts/protocol/Exchange/IWrapperFunctions.sol deleted file mode 100644 index 858c9eaba..000000000 --- a/contracts/interfaces/contracts/protocol/Exchange/IWrapperFunctions.sol +++ /dev/null @@ -1,160 +0,0 @@ -/* - - 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; -pragma experimental ABIEncoderV2; - -import "@0x/contracts-exchange-libs/contracts/exchange-libs/LibOrder.sol"; -import "@0x/contracts-exchange-libs/contracts/exchange-libs/LibFillResults.sol"; - - -contract IWrapperFunctions { - - /// @dev Fills the input order. Reverts if exact takerAssetFillAmount not filled. - /// @param order LibOrder.Order struct containing order specifications. - /// @param takerAssetFillAmount Desired amount of takerAsset to sell. - /// @param signature Proof that order has been created by maker. - function fillOrKillOrder( - LibOrder.Order memory order, - uint256 takerAssetFillAmount, - bytes memory signature - ) - public - returns (LibFillResults.FillResults memory fillResults); - - /// @dev Fills an order with specified parameters and ECDSA signature. - /// Returns false if the transaction would otherwise revert. - /// @param order LibOrder.Order struct containing order specifications. - /// @param takerAssetFillAmount Desired amount of takerAsset to sell. - /// @param signature Proof that order has been created by maker. - /// @return Amounts filled and fees paid by maker and taker. - function fillOrderNoThrow( - LibOrder.Order memory order, - uint256 takerAssetFillAmount, - bytes memory signature - ) - public - returns (LibFillResults.FillResults memory fillResults); - - /// @dev Synchronously executes multiple calls of fillOrder. - /// @param orders Array of order specifications. - /// @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders. - /// @param signatures Proofs that orders have been created by makers. - /// @return Amounts filled and fees paid by makers and taker. - function batchFillOrders( - LibOrder.Order[] memory orders, - uint256[] memory takerAssetFillAmounts, - bytes[] memory signatures - ) - public - returns (LibFillResults.FillResults memory totalFillResults); - - /// @dev Synchronously executes multiple calls of fillOrKill. - /// @param orders Array of order specifications. - /// @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders. - /// @param signatures Proofs that orders have been created by makers. - /// @return Amounts filled and fees paid by makers and taker. - function batchFillOrKillOrders( - LibOrder.Order[] memory orders, - uint256[] memory takerAssetFillAmounts, - bytes[] memory signatures - ) - public - returns (LibFillResults.FillResults memory totalFillResults); - - /// @dev Fills an order with specified parameters and ECDSA signature. - /// Returns false if the transaction would otherwise revert. - /// @param orders Array of order specifications. - /// @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders. - /// @param signatures Proofs that orders have been created by makers. - /// @return Amounts filled and fees paid by makers and taker. - function batchFillOrdersNoThrow( - LibOrder.Order[] memory orders, - uint256[] memory takerAssetFillAmounts, - bytes[] memory signatures - ) - public - returns (LibFillResults.FillResults memory totalFillResults); - - /// @dev Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. - /// @param orders Array of order specifications. - /// @param takerAssetFillAmount Desired amount of takerAsset to sell. - /// @param signatures Proofs that orders have been created by makers. - /// @return Amounts filled and fees paid by makers and taker. - function marketSellOrders( - LibOrder.Order[] memory orders, - uint256 takerAssetFillAmount, - bytes[] memory signatures - ) - public - returns (LibFillResults.FillResults memory totalFillResults); - - /// @dev Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. - /// Returns false if the transaction would otherwise revert. - /// @param orders Array of order specifications. - /// @param takerAssetFillAmount Desired amount of takerAsset to sell. - /// @param signatures Proofs that orders have been signed by makers. - /// @return Amounts filled and fees paid by makers and taker. - function marketSellOrdersNoThrow( - LibOrder.Order[] memory orders, - uint256 takerAssetFillAmount, - bytes[] memory signatures - ) - public - returns (LibFillResults.FillResults memory totalFillResults); - - /// @dev Synchronously executes multiple calls of fillOrder until total amount of makerAsset is bought by taker. - /// @param orders Array of order specifications. - /// @param makerAssetFillAmount Desired amount of makerAsset to buy. - /// @param signatures Proofs that orders have been signed by makers. - /// @return Amounts filled and fees paid by makers and taker. - function marketBuyOrders( - LibOrder.Order[] memory orders, - uint256 makerAssetFillAmount, - bytes[] memory signatures - ) - public - returns (LibFillResults.FillResults memory totalFillResults); - - /// @dev Synchronously executes multiple fill orders in a single transaction until total amount is bought by taker. - /// Returns false if the transaction would otherwise revert. - /// @param orders Array of order specifications. - /// @param makerAssetFillAmount Desired amount of makerAsset to buy. - /// @param signatures Proofs that orders have been signed by makers. - /// @return Amounts filled and fees paid by makers and taker. - function marketBuyOrdersNoThrow( - LibOrder.Order[] memory orders, - uint256 makerAssetFillAmount, - bytes[] memory signatures - ) - public - returns (LibFillResults.FillResults memory totalFillResults); - - /// @dev Synchronously cancels multiple orders in a single transaction. - /// @param orders Array of order specifications. - function batchCancelOrders(LibOrder.Order[] memory orders) - public; - - /// @dev Fetches information for all passed in orders - /// @param orders Array of order specifications. - /// @return Array of OrderInfo instances that correspond to each order. - function getOrdersInfo(LibOrder.Order[] memory orders) - public - view - returns (LibOrder.OrderInfo[] memory); -} diff --git a/contracts/interfaces/package.json b/contracts/interfaces/package.json deleted file mode 100644 index d1d55a59f..000000000 --- a/contracts/interfaces/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "@0x/contracts-interfaces", - "version": "1.0.6", - "engines": { - "node": ">=6.12" - }, - "description": "Smart contract interfaces of 0x protocol", - "main": "lib/src/index.js", - "scripts": { - "build": "yarn pre_build && tsc -b", - "build:ci": "yarn build", - "pre_build": "run-s compile generate_contract_wrappers", - "compile": "sol-compiler", - "watch": "sol-compiler -w", - "clean": "shx rm -rf lib generated-artifacts generated-wrappers", - "generate_contract_wrappers": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/partials/**/*.handlebars' --output generated-wrappers --backend ethers", - "lint": "tslint --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts", - "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol" - }, - "config": { - "abis": "generated-artifacts/@(IAssetData|IAssetProxy|IAuthorizable|IAssetProxyDispatcher|IExchange|IExchangeCore|IMatchOrders|ISignatureValidator|ITransactions|IValidator|IWallet|IWrapperFunctions).json" - }, - "repository": { - "type": "git", - "url": "https://github.com/0xProject/0x-monorepo.git" - }, - "license": "Apache-2.0", - "bugs": { - "url": "https://github.com/0xProject/0x-monorepo/issues" - }, - "homepage": "https://github.com/0xProject/0x-monorepo/contracts/interfaces/README.md", - "devDependencies": { - "@0x/abi-gen": "^1.0.22", - "@0x/sol-compiler": "^2.0.2", - "@0x/tslint-config": "^2.0.2", - "npm-run-all": "^4.1.2", - "shx": "^0.2.2", - "solhint": "^1.4.1", - "tslint": "5.11.0", - "typescript": "3.0.1", - "yargs": "^10.0.3" - }, - "dependencies": { - "@0x/base-contract": "^3.0.13", - "@0x/contracts-exchange-libs": "^1.0.6", - "@0x/contracts-utils": "^1.0.6", - "@0x/types": "^1.5.2", - "@0x/typescript-typings": "^3.0.8", - "@0x/utils": "^3.0.1", - "@0x/web3-wrapper": "^3.2.4", - "ethereum-types": "^1.1.6", - "lodash": "^4.17.5" - }, - "publishConfig": { - "access": "public" - } -} diff --git a/contracts/interfaces/src/artifacts/index.ts b/contracts/interfaces/src/artifacts/index.ts deleted file mode 100644 index 5a2a37d8a..000000000 --- a/contracts/interfaces/src/artifacts/index.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { ContractArtifact } from 'ethereum-types'; - -import * as IAssetData from '../../generated-artifacts/IAssetData.json'; -import * as IAssetProxy from '../../generated-artifacts/IAssetProxy.json'; -import * as IAssetProxyDispatcher from '../../generated-artifacts/IAssetProxyDispatcher.json'; -import * as IAuthorizable from '../../generated-artifacts/IAuthorizable.json'; -import * as IExchange from '../../generated-artifacts/IExchange.json'; -import * as IExchangeCore from '../../generated-artifacts/IExchangeCore.json'; -import * as IMatchOrders from '../../generated-artifacts/IMatchOrders.json'; -import * as ISignatureValidator from '../../generated-artifacts/ISignatureValidator.json'; -import * as ITransactions from '../../generated-artifacts/ITransactions.json'; -import * as IValidator from '../../generated-artifacts/IValidator.json'; -import * as IWallet from '../../generated-artifacts/IWallet.json'; -import * as IWrapperFunctions from '../../generated-artifacts/IWrapperFunctions.json'; - -export const artifacts = { - IAssetProxyDispatcher: IAssetProxyDispatcher as ContractArtifact, - IAuthorizable: IAuthorizable as ContractArtifact, - IExchange: IExchange as ContractArtifact, - IExchangeCore: IExchangeCore as ContractArtifact, - IMatchOrders: IMatchOrders as ContractArtifact, - ISignatureValidator: ISignatureValidator as ContractArtifact, - ITransactions: ITransactions as ContractArtifact, - IWrapperFunctions: IWrapperFunctions as ContractArtifact, - IAssetData: IAssetData as ContractArtifact, - IAssetProxy: IAssetProxy as ContractArtifact, - IValidator: IValidator as ContractArtifact, - IWallet: IWallet as ContractArtifact, -}; diff --git a/contracts/interfaces/src/index.ts b/contracts/interfaces/src/index.ts deleted file mode 100644 index d55f08ea2..000000000 --- a/contracts/interfaces/src/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './artifacts'; -export * from './wrappers'; diff --git a/contracts/interfaces/src/wrappers/index.ts b/contracts/interfaces/src/wrappers/index.ts deleted file mode 100644 index f7f72fada..000000000 --- a/contracts/interfaces/src/wrappers/index.ts +++ /dev/null @@ -1,12 +0,0 @@ -export * from '../../generated-wrappers/i_asset_data'; -export * from '../../generated-wrappers/i_asset_proxy'; -export * from '../../generated-wrappers/i_asset_proxy_dispatcher'; -export * from '../../generated-wrappers/i_exchange'; -export * from '../../generated-wrappers/i_exchange_core'; -export * from '../../generated-wrappers/i_match_orders'; -export * from '../../generated-wrappers/i_signature_validator'; -export * from '../../generated-wrappers/i_transactions'; -export * from '../../generated-wrappers/i_authorizable'; -export * from '../../generated-wrappers/i_wrapper_functions'; -export * from '../../generated-wrappers/i_validator'; -export * from '../../generated-wrappers/i_wallet'; diff --git a/contracts/interfaces/tsconfig.json b/contracts/interfaces/tsconfig.json deleted file mode 100644 index 90b7d41bb..000000000 --- a/contracts/interfaces/tsconfig.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "extends": "../../tsconfig", - "compilerOptions": { - "outDir": "lib", - "rootDir": ".", - "resolveJsonModule": true - }, - "include": ["./src/**/*", "./generated-wrappers/**/*"], - "files": [ - "./generated-artifacts/IAssetData.json", - "./generated-artifacts/IAssetProxy.json", - "./generated-artifacts/IAuthorizable.json", - "./generated-artifacts/IAssetProxyDispatcher.json", - "./generated-artifacts/IExchange.json", - "./generated-artifacts/IExchangeCore.json", - "./generated-artifacts/IMatchOrders.json", - "./generated-artifacts/ISignatureValidator.json", - "./generated-artifacts/ITransactions.json", - "./generated-artifacts/IValidator.json", - "./generated-artifacts/IWallet.json", - "./generated-artifacts/IWrapperFunctions.json" - ], - "exclude": ["./deploy/solc/solc_bin"] -} diff --git a/contracts/interfaces/tslint.json b/contracts/interfaces/tslint.json deleted file mode 100644 index 1bb3ac2a2..000000000 --- a/contracts/interfaces/tslint.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "extends": ["@0x/tslint-config"], - "rules": { - "custom-no-magic-numbers": false - } -} -- cgit