diff --git a/README.md b/README.md index cfcc399924..f6299bf43e 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,8 @@ Visit our [developer portal](https://0xproject.com/docs/order-utils) for a compr ### Solidity Packages +These packages are all under development. See [/contracts/README.md](/contracts/README.md) for a list of deployed 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 | diff --git a/contracts/README.md b/contracts/README.md new file mode 100644 index 0000000000..da9db02432 --- /dev/null +++ b/contracts/README.md @@ -0,0 +1,12 @@ +#### Deployed Contract Packages + +| Contract | Package | Version | Git Tag | +| --------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| AssetProxyOwner | [`@0x/contracts-multisig`](/contracts/multisig) | [v1.0.2](https://www.npmjs.com/package/@0x/contracts-multisig/v/1.0.2) | [@0x/contracts-multisig@1.0.2](https://github.com/0xProject/0x-monorepo/releases/tag/@0x/contracts-multisig@1.0.2) | +| ERC20Proxy | [`@0x/contracts-asset-proxy`](/contracts/asset-proxy) | [v1.0.1](https://www.npmjs.com/package/@0x/contracts-asset-proxy/v/1.0.1) | [@0x/contracts-asset-proxy@1.0.1](https://github.com/0xProject/0x-monorepo/releases/tag/@0x/contracts-asset-proxy@1.0.1) | +| ERC721Proxy | [`@0x/contracts-asset-proxy`](/contracts/asset-proxy) | [v1.0.1](https://www.npmjs.com/package/@0x/contracts-asset-proxy/v/1.0.1) | [@0x/contracts-asset-proxy@1.0.1](https://github.com/0xProject/0x-monorepo/releases/tag/@0x/contracts-asset-proxy@1.0.1) | +| Exchange | [`@0x/contracts-exchange`](/contracts/exchange) | [v1.0.1](https://www.npmjs.com/package/@0x/contracts-exchange/v/1.0.1) | [@0x/contracts-exchange@1.0.1](https://github.com/0xProject/0x-monorepo/releases/tag/@0x/contracts-exchange@1.0.1) | +| DutchAuction | [`@0x/contracts-extensions`](/contracts/extensions) | [v1.0.2](https://www.npmjs.com/package/@0x/contracts-extensions/v/1.0.2) | [@0x/contracts-extensions@1.0.2](https://github.com/0xProject/0x-monorepo/releases/tag/@0x/contracts-extensions@1.0.2) | +| Forwarder | [`@0x/contracts-exchange-forwarder`](/contracts/exchange-forwarder) | [v1.0.1](https://www.npmjs.com/package/@0x/contracts-exchange-forwarder/v/1.0.1) | [@0x/contracts-exchange-forwarder@1.0.1](https://github.com/0xProject/0x-monorepo/releases/tag/@0x/contracts-exchange-forwarder@1.0.1) | +| MultiAssetProxy | [`@0x/contracts-asset-proxy`](/contracts/asset-proxy) | [v1.0.1](https://www.npmjs.com/package/@0x/contracts-asset-proxy/v/1.0.1) | [@0x/contracts-asset-proxy@1.0.1](https://github.com/0xProject/0x-monorepo/releases/tag/@0x/contracts-asset-proxy@1.0.1) | +| ZRXToken | [`@0x/contracts-erc20`](/contracts/erc20) | [v1.0.1](https://www.npmjs.com/package/@0x/contracts-erc20/v/1.0.1) | [@0x/contracts-erc20@1.0.1](https://github.com/0xProject/0x-monorepo/releases/tag/@0x/contracts-erc20@1.0.1) | diff --git a/contracts/asset-proxy/CHANGELOG.json b/contracts/asset-proxy/CHANGELOG.json index 40f67bad8e..d4a8083933 100644 --- a/contracts/asset-proxy/CHANGELOG.json +++ b/contracts/asset-proxy/CHANGELOG.json @@ -13,6 +13,10 @@ { "note": "Add ERC1155Proxy", "pr": 1661 + }, + { + "note": "Bumped solidity version to ^0.5.5", + "pr": 1701 } ] }, diff --git a/contracts/asset-proxy/contracts/src/ERC1155Proxy.sol b/contracts/asset-proxy/contracts/src/ERC1155Proxy.sol index b11f0d8d7d..1249616714 100644 --- a/contracts/asset-proxy/contracts/src/ERC1155Proxy.sol +++ b/contracts/asset-proxy/contracts/src/ERC1155Proxy.sol @@ -16,7 +16,7 @@ */ -pragma solidity 0.4.24; +pragma solidity ^0.5.5; import "./MixinAuthorizable.sol"; diff --git a/contracts/asset-proxy/contracts/src/ERC20Proxy.sol b/contracts/asset-proxy/contracts/src/ERC20Proxy.sol index 258443bca9..446d879c71 100644 --- a/contracts/asset-proxy/contracts/src/ERC20Proxy.sol +++ b/contracts/asset-proxy/contracts/src/ERC20Proxy.sol @@ -16,7 +16,7 @@ */ -pragma solidity 0.4.24; +pragma solidity ^0.5.5; import "./MixinAuthorizable.sol"; diff --git a/contracts/asset-proxy/contracts/src/ERC721Proxy.sol b/contracts/asset-proxy/contracts/src/ERC721Proxy.sol index 65b664b8b3..7730eda532 100644 --- a/contracts/asset-proxy/contracts/src/ERC721Proxy.sol +++ b/contracts/asset-proxy/contracts/src/ERC721Proxy.sol @@ -16,7 +16,7 @@ */ -pragma solidity 0.4.24; +pragma solidity ^0.5.5; import "./MixinAuthorizable.sol"; diff --git a/contracts/asset-proxy/contracts/src/MixinAssetProxyDispatcher.sol b/contracts/asset-proxy/contracts/src/MixinAssetProxyDispatcher.sol index 36c287ea34..e9e6805737 100644 --- a/contracts/asset-proxy/contracts/src/MixinAssetProxyDispatcher.sol +++ b/contracts/asset-proxy/contracts/src/MixinAssetProxyDispatcher.sol @@ -16,7 +16,7 @@ */ -pragma solidity ^0.4.24; +pragma solidity ^0.5.5; import "@0x/contracts-utils/contracts/src/Ownable.sol"; import "./mixins/MAssetProxyDispatcher.sol"; @@ -28,7 +28,7 @@ contract MixinAssetProxyDispatcher is MAssetProxyDispatcher { // Mapping from Asset Proxy Id's to their respective Asset Proxy - mapping (bytes4 => IAssetProxy) public assetProxies; + mapping (bytes4 => address) public assetProxies; /// @dev Registers an asset proxy to its asset proxy id. /// Once an asset proxy is registered, it cannot be unregistered. @@ -37,10 +37,8 @@ contract MixinAssetProxyDispatcher is external onlyOwner { - IAssetProxy assetProxyContract = IAssetProxy(assetProxy); - // Ensure that no asset proxy exists with current id. - bytes4 assetProxyId = assetProxyContract.getProxyId(); + bytes4 assetProxyId = IAssetProxy(assetProxy).getProxyId(); address currentAssetProxy = assetProxies[assetProxyId]; require( currentAssetProxy == address(0), @@ -48,7 +46,7 @@ contract MixinAssetProxyDispatcher is ); // Add asset proxy and log registration. - assetProxies[assetProxyId] = assetProxyContract; + assetProxies[assetProxyId] = assetProxy; emit AssetProxyRegistered( assetProxyId, assetProxy diff --git a/contracts/asset-proxy/contracts/src/MixinAuthorizable.sol b/contracts/asset-proxy/contracts/src/MixinAuthorizable.sol index ace820625c..a7fc9d155d 100644 --- a/contracts/asset-proxy/contracts/src/MixinAuthorizable.sol +++ b/contracts/asset-proxy/contracts/src/MixinAuthorizable.sol @@ -16,7 +16,7 @@ */ -pragma solidity ^0.4.24; +pragma solidity ^0.5.5; import "@0x/contracts-utils/contracts/src/Ownable.sol"; import "./mixins/MAuthorizable.sol"; diff --git a/contracts/asset-proxy/contracts/src/MultiAssetProxy.sol b/contracts/asset-proxy/contracts/src/MultiAssetProxy.sol index 0b2cb41348..b26d8c0138 100644 --- a/contracts/asset-proxy/contracts/src/MultiAssetProxy.sol +++ b/contracts/asset-proxy/contracts/src/MultiAssetProxy.sol @@ -16,7 +16,7 @@ */ -pragma solidity 0.4.24; +pragma solidity ^0.5.5; import "./MixinAssetProxyDispatcher.sol"; import "./MixinAuthorizable.sol"; diff --git a/contracts/asset-proxy/contracts/src/interfaces/IAssetData.sol b/contracts/asset-proxy/contracts/src/interfaces/IAssetData.sol index a130e615fc..2f5e49bd93 100644 --- a/contracts/asset-proxy/contracts/src/interfaces/IAssetData.sol +++ b/contracts/asset-proxy/contracts/src/interfaces/IAssetData.sol @@ -17,7 +17,7 @@ */ // solhint-disable -pragma solidity ^0.4.24; +pragma solidity ^0.5.5; pragma experimental ABIEncoderV2; @@ -36,8 +36,8 @@ interface IAssetData { external; function MultiAsset( - uint256[] amounts, - bytes[] nestedAssetData + uint256[] calldata amounts, + bytes[] calldata nestedAssetData ) external; diff --git a/contracts/asset-proxy/contracts/src/interfaces/IAssetProxy.sol b/contracts/asset-proxy/contracts/src/interfaces/IAssetProxy.sol index 706412dd0b..d176b57ade 100644 --- a/contracts/asset-proxy/contracts/src/interfaces/IAssetProxy.sol +++ b/contracts/asset-proxy/contracts/src/interfaces/IAssetProxy.sol @@ -16,7 +16,7 @@ */ -pragma solidity ^0.4.24; +pragma solidity ^0.5.5; import "./IAuthorizable.sol"; @@ -30,7 +30,7 @@ contract IAssetProxy is /// @param to Address to transfer asset to. /// @param amount Amount of asset to transfer. function transferFrom( - bytes assetData, + bytes calldata assetData, address from, address to, uint256 amount diff --git a/contracts/asset-proxy/contracts/src/interfaces/IAssetProxyDispatcher.sol b/contracts/asset-proxy/contracts/src/interfaces/IAssetProxyDispatcher.sol index b73881c077..6ae3c1cbe2 100644 --- a/contracts/asset-proxy/contracts/src/interfaces/IAssetProxyDispatcher.sol +++ b/contracts/asset-proxy/contracts/src/interfaces/IAssetProxyDispatcher.sol @@ -16,7 +16,7 @@ */ -pragma solidity ^0.4.24; +pragma solidity ^0.5.5; contract IAssetProxyDispatcher { diff --git a/contracts/asset-proxy/contracts/src/interfaces/IAuthorizable.sol b/contracts/asset-proxy/contracts/src/interfaces/IAuthorizable.sol index 0df6547117..2fcf3e5110 100644 --- a/contracts/asset-proxy/contracts/src/interfaces/IAuthorizable.sol +++ b/contracts/asset-proxy/contracts/src/interfaces/IAuthorizable.sol @@ -16,7 +16,7 @@ */ -pragma solidity ^0.4.24; +pragma solidity ^0.5.5; import "@0x/contracts-utils/contracts/src/interfaces/IOwnable.sol"; diff --git a/contracts/asset-proxy/contracts/src/mixins/MAssetProxyDispatcher.sol b/contracts/asset-proxy/contracts/src/mixins/MAssetProxyDispatcher.sol index 0ae555ddad..b53e7166e6 100644 --- a/contracts/asset-proxy/contracts/src/mixins/MAssetProxyDispatcher.sol +++ b/contracts/asset-proxy/contracts/src/mixins/MAssetProxyDispatcher.sol @@ -16,7 +16,7 @@ */ -pragma solidity ^0.4.24; +pragma solidity ^0.5.5; import "../interfaces/IAssetProxyDispatcher.sol"; diff --git a/contracts/asset-proxy/contracts/src/mixins/MAuthorizable.sol b/contracts/asset-proxy/contracts/src/mixins/MAuthorizable.sol index c9c07e788b..6b3d0b7d9f 100644 --- a/contracts/asset-proxy/contracts/src/mixins/MAuthorizable.sol +++ b/contracts/asset-proxy/contracts/src/mixins/MAuthorizable.sol @@ -16,7 +16,7 @@ */ -pragma solidity ^0.4.24; +pragma solidity ^0.5.5; import "../interfaces/IAuthorizable.sol"; diff --git a/contracts/asset-proxy/package.json b/contracts/asset-proxy/package.json index 138485472a..36bda3404c 100644 --- a/contracts/asset-proxy/package.json +++ b/contracts/asset-proxy/package.json @@ -71,7 +71,7 @@ "@0x/contracts-erc20": "^1.0.9", "@0x/contracts-erc721": "^1.0.9", "@0x/contracts-erc1155": "^1.0.0", - "@0x/contracts-utils": "2.0.1", + "@0x/contracts-utils": "^2.0.8", "@0x/order-utils": "^7.0.2", "@0x/types": "^2.1.1", "@0x/typescript-typings": "^4.1.0",