diff options
author | Amir Bandeali <abandeali1@gmail.com> | 2019-01-23 05:37:14 +0800 |
---|---|---|
committer | Amir Bandeali <abandeali1@gmail.com> | 2019-01-23 05:37:14 +0800 |
commit | fe1ef930ad0febcf2b35f26da7d19123c881f741 (patch) | |
tree | 24721707fafda1243586968a7867be7f75611e03 | |
parent | ab4d4a69ec105f1716cd705350441bb2d9ec4b87 (diff) | |
download | dexon-0x-contracts-fe1ef930ad0febcf2b35f26da7d19123c881f741.tar.gz dexon-0x-contracts-fe1ef930ad0febcf2b35f26da7d19123c881f741.tar.zst dexon-0x-contracts-fe1ef930ad0febcf2b35f26da7d19123c881f741.zip |
Update DEPLOYS and READMEs within each package
-rw-r--r-- | README.md | 28 | ||||
-rw-r--r-- | contracts/asset-proxy/DEPLOYS.json | 57 | ||||
-rw-r--r-- | contracts/asset-proxy/README.md | 19 | ||||
-rw-r--r-- | contracts/erc20/DEPLOYS.json | 1 | ||||
-rw-r--r-- | contracts/erc20/README.md | 19 | ||||
-rw-r--r-- | contracts/erc721/DEPLOYS.json | 17 | ||||
-rw-r--r-- | contracts/erc721/README.md | 19 | ||||
-rw-r--r-- | contracts/exchange-forwarder/DEPLOYS.json | 1 | ||||
-rw-r--r-- | contracts/exchange-forwarder/README.md | 16 | ||||
-rw-r--r-- | contracts/exchange-libs/README.md | 19 | ||||
-rw-r--r-- | contracts/exchange/DEPLOYS.json | 77 | ||||
-rw-r--r-- | contracts/exchange/README.md | 19 | ||||
-rw-r--r-- | contracts/extensions/DEPLOYS.json | 32 | ||||
-rw-r--r-- | contracts/extensions/README.md | 12 | ||||
-rw-r--r-- | contracts/multisig/DEPLOYS.json | 17 | ||||
-rw-r--r-- | contracts/multisig/README.md | 15 | ||||
-rw-r--r-- | contracts/utils/README.md | 13 |
17 files changed, 131 insertions, 250 deletions
@@ -32,6 +32,21 @@ Visit our [developer portal](https://0xproject.com/docs/order-utils) for a compr | [`0x-order-utils`](/python-packages/order_utils) | [![PyPI](https://img.shields.io/pypi/v/0x-order-utils.svg)](https://pypi.org/project/0x-order-utils/) | A set of utilities for generating, parsing, signing and validating 0x orders | | [`0x-sra-client`](/python-packages/sra_client) | [![PyPI](https://img.shields.io/pypi/v/0x-sra-client.svg)](https://pypi.org/project/0x-sra-client/) | A Python client for interacting with servers conforming to the Standard Relayer API specification | +### Solidity Packages + +| Package | Version | Description | +| ------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| [`@0x/contracts-asset-proxy`](/contracts/asset-proxy) | [![npm](https://img.shields.io/npm/v/@0x/contracts-asset-proxy.svg)](https://www.npmjs.com/package/@0x/contracts-asset-proxy) | [`AssetProxy`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#assetproxy) contracts used within the protocol | +| [`@0x/contracts-erc20`](/contracts/erc20) | [![npm](https://img.shields.io/npm/v/@0x/contracts-erc20.svg)](https://www.npmjs.com/package/@0x/contracts-erc20) | Implementations of various ERC20 tokens | +| [`@0x/contracts-erc721`](/contracts/erc721) | [![npm](https://img.shields.io/npm/v/@0x/contracts-erc721.svg)](https://www.npmjs.com/package/@0x/contracts-erc721) | Implementations of various ERC721 tokens | +| [`@0x/contracts-exchange`](/contracts/exchange) | [![npm](https://img.shields.io/npm/v/@0x/contracts-exchange.svg)](https://www.npmjs.com/package/@0x/contracts-exchange) | The [`Exchange`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#exchange) contract used for settling trades within the protocol | +| [`@0x/contracts-exchange-forwarder`](/contracts/exchange-forwarder) | [![npm](https://img.shields.io/npm/v/@0x/contracts-exchange-forwarder.svg)](https://www.npmjs.com/package/@0x/contracts-exchange-forwarder) | A [`Forwarder`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md) contract used to simplify UX for interacting with the protocol | +| [`@0x/contracts-exchange-libs`](/contracts/exchange-libs) | [![npm](https://img.shields.io/npm/v/@0x/contracts-exchange-libs.svg)](https://www.npmjs.com/package/@0x/contracts-exchange-libs) | Protocol specific Llbraries used within the [`Exchange`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#exchange) contract | +| [`@0x/contracts-extensions`](/contracts/extensions) | [![npm](https://img.shields.io/npm/v/@0x/contracts-extensions.svg)](https://www.npmjs.com/package/@0x/contracts-extensions) | Contracts that interact with and extend the functionality of the core protocol | +| [`@0x/contracts-multisig`](/contracts/multisig) | [![npm](https://img.shields.io/npm/v/@0x/contracts-multisig.svg)](https://www.npmjs.com/package/@0x/contracts-multisig) | Various implementations of multisignature wallets, including the [`AssetProxyOwner`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#assetproxyowner) contract that has permissions to upgrade the protocol | +| [`@0x/contracts-test-utils`](/contracts/test-utils) | [![npm](https://img.shields.io/npm/v/@0x/contracts-test-utils.svg)](https://www.npmjs.com/package/@0x/contracts-test-utils) | Typescript/Javascript shared utilities used for testing contracts | +| [`@0x/contracts-utils`](/contracts/utils) | [![npm](https://img.shields.io/npm/v/@0x/contracts-utils.svg)](https://www.npmjs.com/package/@0x/contracts-utils) | Generic libraries and utilities used throughout all of the contracts | + ### Typescript/Javascript Packages #### 0x-specific packages @@ -84,7 +99,6 @@ Visit our [developer portal](https://0xproject.com/docs/order-utils) for a compr | Package | Description | | -------------------------------------------------- | -------------------------------------------------------------------------------- | -| [`@0x/contracts`](/contracts/core) | 0x protocol solidity smart contracts & tests | | [`@0x/instant`](/packages/instant) | A free and flexible way to offer simple crypto purchasing in any app or website. | | [`@0x/testnet-faucets`](/packages/testnet-faucets) | A faucet micro-service that dispenses test ERC20 tokens or Ether | | [`@0x/website`](/packages/website) | 0x website | @@ -134,6 +148,12 @@ To build a specific package: PKG=@0x/web3-wrapper yarn build ``` +To build all contracts packages: + +```bash +yarn build:contracts +``` + ### Watch To re-build all packages on change: @@ -206,3 +226,9 @@ Run a specific package's test: ```bash PKG=@0x/web3-wrapper yarn test ``` + +Run all contracts packages tests: + +```bash +yarn test:contracts +``` diff --git a/contracts/asset-proxy/DEPLOYS.json b/contracts/asset-proxy/DEPLOYS.json index 5c24ae59c..0f25da1c3 100644 --- a/contracts/asset-proxy/DEPLOYS.json +++ b/contracts/asset-proxy/DEPLOYS.json @@ -5,44 +5,11 @@ "changes": [ { "note": "Add MultiAssetProxy implementation", - "pr": 1224 - } - ] - }, - { - "name": "OrderValidator", - "version": "1.0.0", - "changes": [ - { - "note": "remove `getApproved` check from ERC721 approval query", - "pr": 1149 - } - ] - }, - { - "name": "OrderValidator", - "version": "1.0.0", - "changes": [ - { - "note": "protocol v2 deploy", - "networks": { - "1": "0x9463e518dea6810309563c81d5266c1b1d149138", - "3": "0x90431a90516ab49af23a0530e04e8c7836e7122f", - "42": "0xb389da3d204b412df2f75c6afb3d0a7ce0bc283d" - } - } - ] - }, - { - "name": "Exchange", - "version": "2.0.0", - "changes": [ - { - "note": "protocol v2 deploy", + "pr": 1224, "networks": { - "1": "0x4f833a24e1f95d70f028921e27040ca56e09ab0b", - "3": "0x4530c0483a1633c7a1c97d2c53721caff2caaaaf", - "42": "0x35dd2932454449b14cee11a94d3674a936d5d7b2" + "3": "0xab8fbd189c569ccdee3a4d929bb7f557be4028f6", + "4": "0xb34cde0ad3a83d04abebc0b66e75196f22216621", + "42": "0xf6313a772c222f51c28f2304c0703b8cf5428fd8" } } ] @@ -56,6 +23,7 @@ "networks": { "1": "0x2240dab907db71e64d3e0dba4800c83b5c502d4e", "3": "0xb1408f4c245a23c31b98d2c626777d4c0d766caa", + "4": "0x3e809c563c15a295e832e37053798ddc8d6c8dab", "42": "0xf1ec01d6236d3cd881a0bf0130ea25fe4234003e" } } @@ -70,23 +38,10 @@ "networks": { "1": "0x208e41fb445f1bb1b6780d58356e81405f3e6127", "3": "0xe654aac058bfbf9f83fcaee7793311dd82f6ddb4", + "4": "0x8e1ff02637cb5e39f2fa36c14706aa348b065b09", "42": "0x2a9127c745688a165106c11cd4d647d2220af821" } } ] - }, - { - "name": "AssetProxyOwner", - "version": "1.0.0", - "changes": [ - { - "note": "protocol v2 deploy", - "networks": { - "1": "0x17992e4ffb22730138e4b62aaa6367fa9d3699a6", - "3": "0xf5fa5b5fed2727a0e44ac67f6772e97977aa358b", - "42": "0x2c824d2882baa668e0d5202b1e7f2922278703f8" - } - } - ] } ] diff --git a/contracts/asset-proxy/README.md b/contracts/asset-proxy/README.md index dc1f32c98..48a5b20a5 100644 --- a/contracts/asset-proxy/README.md +++ b/contracts/asset-proxy/README.md @@ -1,15 +1,14 @@ -## Contracts +## AssetProxy -Smart contracts that implement the 0x protocol. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [CHANGELOG](./CHANGELOG.json) of this package. +This package contains the implementations of all of the [`AssetProxy`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#assetproxy) contracts available within the 0x protocol. These contracts are responsible for decoding the `assetData` sent to them and performing the actual transfer of assets. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package. -## Usage +## Installation -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: +**Install** -- [protocol](./contracts/protocol) - - This directory contains the contracts 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). -- [test](./contracts/test) - - This directory contains mocks and other contracts that are used solely for testing contracts within the other directories. +```bash +npm install @0x/contracts-asset-proxy --save +``` ## Bug bounty @@ -42,13 +41,13 @@ yarn install 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-protocol yarn build +PKG=@0x/contracts-asset-proxy yarn build ``` Or continuously rebuild on change: ```bash -PKG=@0x/contracts-protocol yarn watch +PKG=@0x/contracts-asset-proxy yarn watch ``` ### Clean diff --git a/contracts/erc20/DEPLOYS.json b/contracts/erc20/DEPLOYS.json index 5ff58c035..e165b37b3 100644 --- a/contracts/erc20/DEPLOYS.json +++ b/contracts/erc20/DEPLOYS.json @@ -8,6 +8,7 @@ "networks": { "1": "0xe41d2489571d322189246dafa5ebde1f4699f498", "3": "0xff67881f8d12f372d91baae9752eb3631ff0ed00", + "4": "0x2727e688b8fd40b198cd5fe6e408e00494a06f07", "42": "0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa" } } diff --git a/contracts/erc20/README.md b/contracts/erc20/README.md index 2d1db92f0..e1214c00c 100644 --- a/contracts/erc20/README.md +++ b/contracts/erc20/README.md @@ -1,15 +1,14 @@ -## Token contracts +## ERC20 Tokens -Token smart contracts that are used in the 0x protocol. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [CHANGELOG](./CHANGELOG.json) of this package. +This package contains implementations of various [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md) tokens, including WETH (Wrapped Ether) and ZRX. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package. -## Usage +## Installation -Token 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: +**Install** -- [tokens](./contracts/tokens) - - This directory contains implementations of different tokens and token standards, including [wETH](https://weth.io/), ZRX, [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md), and [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md). -- [test](./contracts/test) - - This directory contains mocks and other contracts that are used solely for testing contracts within the other directories. +```bash +npm install @0x/contracts-erc20 --save +``` ## Bug bounty @@ -42,13 +41,13 @@ yarn install 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-tokens yarn build +PKG=@0x/contracts-erc20 yarn build ``` Or continuously rebuild on change: ```bash -PKG=@0x/contracts-tokens yarn watch +PKG=@0x/contracts-erc20 yarn watch ``` ### Clean diff --git a/contracts/erc721/DEPLOYS.json b/contracts/erc721/DEPLOYS.json index 5ff58c035..fe51488c7 100644 --- a/contracts/erc721/DEPLOYS.json +++ b/contracts/erc721/DEPLOYS.json @@ -1,16 +1 @@ -[ - { - "name": "ZRXToken", - "version": "1.0.0", - "changes": [ - { - "note": "protocol v1 deploy", - "networks": { - "1": "0xe41d2489571d322189246dafa5ebde1f4699f498", - "3": "0xff67881f8d12f372d91baae9752eb3631ff0ed00", - "42": "0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa" - } - } - ] - } -] +[] diff --git a/contracts/erc721/README.md b/contracts/erc721/README.md index 2d1db92f0..c14035b9e 100644 --- a/contracts/erc721/README.md +++ b/contracts/erc721/README.md @@ -1,15 +1,14 @@ -## Token contracts +## ERC721 Tokens -Token smart contracts that are used in the 0x protocol. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [CHANGELOG](./CHANGELOG.json) of this package. +This package contains implementations of various [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md) tokens. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package. -## Usage +## Installation -Token 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: +**Install** -- [tokens](./contracts/tokens) - - This directory contains implementations of different tokens and token standards, including [wETH](https://weth.io/), ZRX, [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md), and [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md). -- [test](./contracts/test) - - This directory contains mocks and other contracts that are used solely for testing contracts within the other directories. +```bash +npm install @0x/contracts-erc721 --save +``` ## Bug bounty @@ -42,13 +41,13 @@ yarn install 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-tokens yarn build +PKG=@0x/contracts-erc721 yarn build ``` Or continuously rebuild on change: ```bash -PKG=@0x/contracts-tokens yarn watch +PKG=@0x/contracts-erc721 yarn watch ``` ### Clean diff --git a/contracts/exchange-forwarder/DEPLOYS.json b/contracts/exchange-forwarder/DEPLOYS.json index 1a093bf77..86bd264c4 100644 --- a/contracts/exchange-forwarder/DEPLOYS.json +++ b/contracts/exchange-forwarder/DEPLOYS.json @@ -9,6 +9,7 @@ "networks": { "1": "0x5468a1dc173652ee28d249c271fa9933144746b1", "3": "0x2240dab907db71e64d3e0dba4800c83b5c502d4e", + "4": "0xd2dbf3250a764eaaa94fa0c84ed87c0edc8ed04e", "42": "0x17992e4ffb22730138e4b62aaa6367fa9d3699a6" } } diff --git a/contracts/exchange-forwarder/README.md b/contracts/exchange-forwarder/README.md index 820f6e78a..3fc8c006b 100644 --- a/contracts/exchange-forwarder/README.md +++ b/contracts/exchange-forwarder/README.md @@ -1,10 +1,14 @@ -## Contract extensions +## Exchange Forwarder -Smart contracts that implement extensions for the 0x protocol. +This package contains the implementation of the [`Forwarder`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md) contract. This contract is intended to improve the UX of interacting with the 0x [`Exchange`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#exchange) contract by abstracting user approvals, converting ETH to WETH, and paying fees. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package. -## Usage +## Installation -Contract extensions of the protocol can be found in the [contracts](./contracts) directory. This directory contains contracts that interact with the 2.0.0 contracts and will be used in production, such as the [Forwarder](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md) contract. +**Install** + +```bash +npm install @0x/contracts-exchange-forwarder --save +``` ## Bug bounty @@ -37,13 +41,13 @@ yarn install 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-extensions yarn build +PKG=@0x/contracts-exchange-forwarder yarn build ``` Or continuously rebuild on change: ```bash -PKG=@0x/contracts-extensions yarn watch +PKG=@0x/contracts-exchange-forwarder yarn watch ``` ### Clean diff --git a/contracts/exchange-libs/README.md b/contracts/exchange-libs/README.md index cfa631679..696fb7f11 100644 --- a/contracts/exchange-libs/README.md +++ b/contracts/exchange-libs/README.md @@ -1,15 +1,14 @@ -## Contracts libs +## Exchange Libraries -Smart contracts libs used in the 0x protocol. +This package contains the implementations of various libraries and utilities used within the [`Exchange`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#exchange) contract. These libraries may be useful when creating external contracts that interact with the `Exchange` contract. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package. -## Usage +## Installation -Contracts can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories: +**Install** -- [libs](./contracts/protocol) - - This directory contains the libs. -- [test](./contracts/test) - - This directory contains mocks and other contracts that are used solely for testing contracts within the other directories. +```bash +npm install @0x/contracts-exchange-libs --save +``` ## Contributing @@ -38,13 +37,13 @@ yarn install 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-libs yarn build +PKG=@0x/contracts-exchange-libs yarn build ``` Or continuously rebuild on change: ```bash -PKG=@0x/contracts-libs yarn watch +PKG=@0x/contracts-exchange-libs yarn watch ``` ### Clean diff --git a/contracts/exchange/DEPLOYS.json b/contracts/exchange/DEPLOYS.json index 5c24ae59c..1e110d4f7 100644 --- a/contracts/exchange/DEPLOYS.json +++ b/contracts/exchange/DEPLOYS.json @@ -1,39 +1,5 @@ [ { - "name": "MultiAssetProxy", - "version": "1.0.0", - "changes": [ - { - "note": "Add MultiAssetProxy implementation", - "pr": 1224 - } - ] - }, - { - "name": "OrderValidator", - "version": "1.0.0", - "changes": [ - { - "note": "remove `getApproved` check from ERC721 approval query", - "pr": 1149 - } - ] - }, - { - "name": "OrderValidator", - "version": "1.0.0", - "changes": [ - { - "note": "protocol v2 deploy", - "networks": { - "1": "0x9463e518dea6810309563c81d5266c1b1d149138", - "3": "0x90431a90516ab49af23a0530e04e8c7836e7122f", - "42": "0xb389da3d204b412df2f75c6afb3d0a7ce0bc283d" - } - } - ] - }, - { "name": "Exchange", "version": "2.0.0", "changes": [ @@ -42,51 +8,10 @@ "networks": { "1": "0x4f833a24e1f95d70f028921e27040ca56e09ab0b", "3": "0x4530c0483a1633c7a1c97d2c53721caff2caaaaf", + "4": "0x22ebc052f43a88efa06379426120718170f2204e", "42": "0x35dd2932454449b14cee11a94d3674a936d5d7b2" } } ] - }, - { - "name": "ERC20Proxy", - "version": "1.0.0", - "changes": [ - { - "note": "protocol v2 deploy", - "networks": { - "1": "0x2240dab907db71e64d3e0dba4800c83b5c502d4e", - "3": "0xb1408f4c245a23c31b98d2c626777d4c0d766caa", - "42": "0xf1ec01d6236d3cd881a0bf0130ea25fe4234003e" - } - } - ] - }, - { - "name": "ERC721Proxy", - "version": "1.0.0", - "changes": [ - { - "note": "protocol v2 deploy", - "networks": { - "1": "0x208e41fb445f1bb1b6780d58356e81405f3e6127", - "3": "0xe654aac058bfbf9f83fcaee7793311dd82f6ddb4", - "42": "0x2a9127c745688a165106c11cd4d647d2220af821" - } - } - ] - }, - { - "name": "AssetProxyOwner", - "version": "1.0.0", - "changes": [ - { - "note": "protocol v2 deploy", - "networks": { - "1": "0x17992e4ffb22730138e4b62aaa6367fa9d3699a6", - "3": "0xf5fa5b5fed2727a0e44ac67f6772e97977aa358b", - "42": "0x2c824d2882baa668e0d5202b1e7f2922278703f8" - } - } - ] } ] diff --git a/contracts/exchange/README.md b/contracts/exchange/README.md index dc1f32c98..41997f84d 100644 --- a/contracts/exchange/README.md +++ b/contracts/exchange/README.md @@ -1,15 +1,14 @@ -## Contracts +## Exchange -Smart contracts that implement the 0x protocol. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [CHANGELOG](./CHANGELOG.json) of this package. +This package contains the implementation of the [`Exchange`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#exchange). This contract is responsible for settling trades and is typically the entry point for all transactions that interact with the 0x protocol. Lightweight examples of how external contracts can interct with the `Exchange` contract can be found in the [examples](./contracts/examples) directory. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package. -## Usage +## Installation -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: +**Install** -- [protocol](./contracts/protocol) - - This directory contains the contracts 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). -- [test](./contracts/test) - - This directory contains mocks and other contracts that are used solely for testing contracts within the other directories. +```bash +npm install @0x/contracts-exchange --save +``` ## Bug bounty @@ -42,13 +41,13 @@ yarn install 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-protocol yarn build +PKG=@0x/contracts-exchange yarn build ``` Or continuously rebuild on change: ```bash -PKG=@0x/contracts-protocol yarn watch +PKG=@0x/contracts-exchange yarn watch ``` ### Clean diff --git a/contracts/extensions/DEPLOYS.json b/contracts/extensions/DEPLOYS.json index 1a093bf77..fe51488c7 100644 --- a/contracts/extensions/DEPLOYS.json +++ b/contracts/extensions/DEPLOYS.json @@ -1,31 +1 @@ -[ - { - "name": "Forwarder", - "version": "1.1.0", - "changes": [ - { - "note": "Round up when calculating remaining amounts in marketBuy functions", - "pr": 1162, - "networks": { - "1": "0x5468a1dc173652ee28d249c271fa9933144746b1", - "3": "0x2240dab907db71e64d3e0dba4800c83b5c502d4e", - "42": "0x17992e4ffb22730138e4b62aaa6367fa9d3699a6" - } - } - ] - }, - { - "name": "Forwarder", - "version": "1.0.0", - "changes": [ - { - "note": "protocol v2 deploy", - "networks": { - "1": "0x7afc2d5107af94c462a194d2c21b5bdd238709d6", - "3": "0x3983e204b12b3c02fb0638caf2cd406a62e0ead3", - "42": "0xd85e2fa7e7e252b27b01bf0d65c946959d2f45b8" - } - } - ] - } -] +[] diff --git a/contracts/extensions/README.md b/contracts/extensions/README.md index 820f6e78a..f1767869d 100644 --- a/contracts/extensions/README.md +++ b/contracts/extensions/README.md @@ -1,10 +1,14 @@ -## Contract extensions +## Extensions -Smart contracts that implement extensions for the 0x protocol. +This package implements various extensions to the 0x protocol. Extension contracts can add various rules around how orders are settled while still getting the interoperability and security benefits of using the underlying 0x protocol contracts. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package. -## Usage +## Installation -Contract extensions of the protocol can be found in the [contracts](./contracts) directory. This directory contains contracts that interact with the 2.0.0 contracts and will be used in production, such as the [Forwarder](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md) contract. +**Install** + +```bash +npm install @0x/contracts-extensions --save +``` ## Bug bounty diff --git a/contracts/multisig/DEPLOYS.json b/contracts/multisig/DEPLOYS.json new file mode 100644 index 000000000..ea4e7ff89 --- /dev/null +++ b/contracts/multisig/DEPLOYS.json @@ -0,0 +1,17 @@ +[ + { + "name": "AssetProxyOwner", + "version": "1.0.0", + "changes": [ + { + "note": "protocol v2 deploy", + "networks": { + "1": "0x17992e4ffb22730138e4b62aaa6367fa9d3699a6", + "3": "0xf5fa5b5fed2727a0e44ac67f6772e97977aa358b", + "4": "0x1da52d1d3a3acfa0a1836b737393b4e9931268fc", + "42": "0x2c824d2882baa668e0d5202b1e7f2922278703f8" + } + } + ] + } +] diff --git a/contracts/multisig/README.md b/contracts/multisig/README.md index e29f46251..98cd8a080 100644 --- a/contracts/multisig/README.md +++ b/contracts/multisig/README.md @@ -1,15 +1,14 @@ -## MultisSig Contracts +## MultiSignature Contracts -MultiSig smart contracts +This package contains various types of multisignature wallet contracts, including the [`AssetProxyOwner`](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#assetproxyowner) contract that is responsible for upgrading the 0x protocol smart contracts. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [DEPLOYS](./DEPLOYS.json) file within this package. -## Usage +## Installation -Contracts can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories: +**Install** -- [multisig](./contracts/multisig) - - This directory contains the [Gnosis MultiSigWallet](https://github.com/gnosis/MultiSigWallet) and a custom extension that adds a timelock to transactions within the MultiSigWallet. -- [test](./contracts/test) - - This directory contains mocks and other contracts that are used solely for testing contracts within the other directories. +```bash +npm install @0x/contracts-multisig --save +``` ## Contributing diff --git a/contracts/utils/README.md b/contracts/utils/README.md index 2f872ddb5..5c69971b6 100644 --- a/contracts/utils/README.md +++ b/contracts/utils/README.md @@ -1,15 +1,14 @@ ## Contracts utils -Smart contracts utils used in the 0x protocol. +This package contains smart contract utilities and libraries that are used throughout the entire codebase of smart contracts. These contracts are all generic and may helpful to use outside of the context of 0x protocol. -## Usage +## Installation -Contracts can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories: +**Install** -- [utils](./contracts/utils) - - This directory contains libraries and utils. -- [test](./contracts/test) - - This directory contains mocks and other contracts that are used solely for testing contracts within the other directories. +```bash +npm install @0x/contracts-utils --save +``` ## Contributing |