Compare commits
	
		
			6 Commits
		
	
	
		
			@0x/migrat
			...
			@0x/contra
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | 7bf710f153 | ||
|  | e50fd77973 | ||
|  | 71cdc8a28f | ||
|  | 549f7bc6ee | ||
|  | 92ec1d6923 | ||
|  | 56529180e9 | 
| @@ -30,7 +30,8 @@ | ||||
|                 "note": "Add Gas Token freeing to `DexForwarderBridge` contract.", | ||||
|                 "pr": 2536 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,16 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.3.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Use `LibERC20Token.approveIfBelow()` in DEX bridges for for approvals. (#2512) | ||||
|     * Emit `ERC20BridgeTransfer` events in bridges. (#2512) | ||||
|     * Change names of `ERC20BridgeTransfer` args to be less ambiguous. (#2524) | ||||
|     * Added `MixinGasToken` allowing Gas Tokens to be freed (#2523) | ||||
|     * Add `DexForwaderBridge` bridge contract. (#2525) | ||||
|     * Add `UniswapV2Bridge` bridge contract. (#2590) | ||||
|     * Add Gas Token freeing to `DexForwarderBridge` contract. (#2536) | ||||
|  | ||||
| ## v3.2.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
| @@ -32,7 +42,7 @@ CHANGELOG | ||||
|     * Fix broken tests. (#2462) | ||||
|     * Remove dependency on `@0x/contracts-dev-utils` (#2462) | ||||
|     * Add asset data decoding functions (#2462) | ||||
|     * Add `setOperators()` to `IDydx` (#TODO) | ||||
|     * Add `setOperators()` to `IDydx` (#2462) | ||||
|  | ||||
| ## v3.1.3 - _February 6, 2020_ | ||||
|  | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-asset-proxy", | ||||
|     "version": "3.2.5", | ||||
|     "version": "3.3.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -51,13 +51,13 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contract-wrappers": "^13.6.3", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contract-wrappers": "^13.7.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
| @@ -79,17 +79,17 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contracts-erc1155": "^2.1.5", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-erc721": "^3.1.5", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.5", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contracts-erc1155": "^2.1.6", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-erc721": "^3.1.6", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.6", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "lodash": "^4.17.11" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|                 "note": "Fix broken tests.", | ||||
|                 "pr": 2591 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v1.1.5 - _June 24, 2020_ | ||||
|  | ||||
|     * Fix broken tests. (#2591) | ||||
|  | ||||
| ## v1.1.4 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-broker", | ||||
|     "version": "1.1.4", | ||||
|     "version": "1.1.5", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -51,20 +51,20 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-erc721": "^3.1.5", | ||||
|         "@0x/contracts-exchange": "^3.2.5", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-erc721": "^3.1.6", | ||||
|         "@0x/contracts-exchange": "^3.2.6", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.6", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -84,11 +84,11 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "ethereum-types": "^3.1.0" | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "ethereum-types": "^3.1.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "3.1.6", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "3.1.5", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.1.6 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v3.1.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-coordinator", | ||||
|     "version": "3.1.5", | ||||
|     "version": "3.1.6", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -52,19 +52,19 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-dev-utils": "^1.3.3", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-exchange": "^3.2.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-dev-utils": "^1.3.4", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-exchange": "^3.2.6", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -84,15 +84,15 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contract-addresses": "^4.9.0", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/json-schemas": "^5.0.7", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contract-addresses": "^4.10.0", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/json-schemas": "^5.0.8", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "http-status-codes": "^1.3.2" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "1.3.4", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "1.3.3", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v1.3.4 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v1.3.3 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-dev-utils", | ||||
|     "version": "1.3.3", | ||||
|     "version": "1.3.4", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -41,19 +41,19 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/dev-utils/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@types/node": "*", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "ethers": "~4.0.4", | ||||
|         "npm-run-all": "^4.1.2", | ||||
|         "shx": "^0.2.2", | ||||
| @@ -64,7 +64,7 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1" | ||||
|         "@0x/base-contract": "^6.2.2" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "2.1.6", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "2.1.5", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v2.1.6 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v2.1.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-erc1155", | ||||
|     "version": "2.1.5", | ||||
|     "version": "2.1.6", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -52,15 +52,15 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -68,7 +68,7 @@ | ||||
|         "chai-as-promised": "^7.1.0", | ||||
|         "chai-bignumber": "^3.0.0", | ||||
|         "dirty-chai": "^2.0.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "make-promises-safe": "^1.1.0", | ||||
|         "mocha": "^6.2.0", | ||||
|         "npm-run-all": "^4.1.2", | ||||
| @@ -80,10 +80,10 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "lodash": "^4.17.11" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|   | ||||
| @@ -26,7 +26,8 @@ | ||||
|                 "note": "Sample from MultiBridge", | ||||
|                 "pr": 2593 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v1.6.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Pass in `DevUtils` address as a constructor parameter (#2531) | ||||
|     * Sample `Curve` for buy amounts (#2551) | ||||
|     * Added `sampleBuysFromKyberNetwork` (#2551) | ||||
|     * Use `searchBestRate` in Kyber samples. Return 0 when Uniswap/Eth2Dai reserve (#2575) | ||||
|     * Add UniswapV2 (#2595) | ||||
|     * Sample from MultiBridge (#2593) | ||||
|  | ||||
| ## v1.5.1 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-erc20-bridge-sampler", | ||||
|     "version": "1.5.1", | ||||
|     "version": "1.6.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -50,18 +50,18 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-exchange": "^3.2.5", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-exchange": "^3.2.6", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.6", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -79,11 +79,11 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "lodash": "^4.17.11" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|   | ||||
| @@ -14,7 +14,8 @@ | ||||
|                 "note": "Update `LibERC20TokenV06` comments.", | ||||
|                 "pr": 2597 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,12 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.2.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Add `LibERC20Token.approveIfBelow()` (#2512) | ||||
|     * Add solidity 0.6 contracts (#2545) | ||||
|     * Update `LibERC20TokenV06` comments. (#2597) | ||||
|  | ||||
| ## v3.1.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-erc20", | ||||
|     "version": "3.1.5", | ||||
|     "version": "3.2.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -51,18 +51,18 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -70,7 +70,7 @@ | ||||
|         "chai-as-promised": "^7.1.0", | ||||
|         "chai-bignumber": "^3.0.0", | ||||
|         "dirty-chai": "^2.0.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "lodash": "^4.17.11", | ||||
|         "make-promises-safe": "^1.1.0", | ||||
|         "mocha": "^6.2.0", | ||||
| @@ -82,7 +82,7 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1" | ||||
|         "@0x/base-contract": "^6.2.2" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "3.1.6", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "3.1.5", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.1.6 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v3.1.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-erc721", | ||||
|     "version": "3.1.5", | ||||
|     "version": "3.1.6", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -52,18 +52,18 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -71,7 +71,7 @@ | ||||
|         "chai-as-promised": "^7.1.0", | ||||
|         "chai-bignumber": "^3.0.0", | ||||
|         "dirty-chai": "^2.0.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "lodash": "^4.17.11", | ||||
|         "make-promises-safe": "^1.1.0", | ||||
|         "mocha": "^6.2.0", | ||||
| @@ -84,7 +84,7 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1" | ||||
|         "@0x/base-contract": "^6.2.2" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "4.2.6", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "4.2.5", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v4.2.6 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v4.2.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-exchange-forwarder", | ||||
|     "version": "4.2.5", | ||||
|     "version": "4.2.6", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -52,25 +52,25 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-dev-utils": "^1.3.3", | ||||
|         "@0x/contracts-erc1155": "^2.1.5", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-erc721": "^3.1.5", | ||||
|         "@0x/contracts-exchange": "^3.2.5", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-dev-utils": "^1.3.4", | ||||
|         "@0x/contracts-erc1155": "^2.1.6", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-erc721": "^3.1.6", | ||||
|         "@0x/contracts-exchange": "^3.2.6", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.6", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -90,9 +90,9 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "ethereum-types": "^3.1.0" | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "ethereum-types": "^3.1.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "4.3.6", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "4.3.5", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v4.3.6 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v4.3.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-exchange-libs", | ||||
|     "version": "4.3.5", | ||||
|     "version": "4.3.6", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -52,14 +52,14 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/libs/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/subproviders": "^6.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/subproviders": "^6.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -80,14 +80,14 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "ethereum-types": "^3.1.0" | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "ethereum-types": "^3.1.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "3.2.6", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "3.2.5", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.2.6 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v3.2.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-exchange", | ||||
|     "version": "3.2.5", | ||||
|     "version": "3.2.6", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -52,21 +52,21 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-multisig": "^4.1.5", | ||||
|         "@0x/contracts-staking": "^2.0.12", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.6", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-multisig": "^4.1.6", | ||||
|         "@0x/contracts-staking": "^2.0.13", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -74,7 +74,7 @@ | ||||
|         "chai-as-promised": "^7.1.0", | ||||
|         "chai-bignumber": "^3.0.0", | ||||
|         "dirty-chai": "^2.0.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "ethereumjs-util": "^5.1.1", | ||||
|         "js-combinatorics": "^0.5.3", | ||||
|         "make-promises-safe": "^1.1.0", | ||||
| @@ -88,13 +88,13 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contracts-dev-utils": "^1.3.3", | ||||
|         "@0x/contracts-erc1155": "^2.1.5", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-erc721": "^3.1.5", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contracts-dev-utils": "^1.3.4", | ||||
|         "@0x/contracts-erc1155": "^2.1.6", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-erc721": "^3.1.6", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "lodash": "^4.17.11" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|                 "note": "Add MaximumGasPrice contract, tooling, and unit tests", | ||||
|                 "pr": 2511 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v6.2.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Add MaximumGasPrice contract, tooling, and unit tests (#2511) | ||||
|  | ||||
| ## v6.1.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-extensions", | ||||
|     "version": "6.1.5", | ||||
|     "version": "6.2.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -51,24 +51,24 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-dev-utils": "^1.3.3", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-erc721": "^3.1.5", | ||||
|         "@0x/contracts-exchange": "^3.2.5", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-dev-utils": "^1.3.4", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-erc721": "^3.1.6", | ||||
|         "@0x/contracts-exchange": "^3.2.6", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.6", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -90,9 +90,9 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "ethereum-types": "^3.1.0" | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "ethereum-types": "^3.1.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|                 "note": "Update `ERC20BridgeSampler` tests", | ||||
|                 "pr": 2531 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v2.5.2 - _June 24, 2020_ | ||||
|  | ||||
|     * Update `ERC20BridgeSampler` tests (#2531) | ||||
|  | ||||
| ## v2.5.1 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-integrations", | ||||
|     "version": "2.5.1", | ||||
|     "version": "2.5.2", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -51,25 +51,25 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contract-addresses": "^4.9.0", | ||||
|         "@0x/contract-wrappers": "^13.6.3", | ||||
|         "@0x/contracts-broker": "^1.1.4", | ||||
|         "@0x/contracts-coordinator": "^3.1.5", | ||||
|         "@0x/contracts-dev-utils": "^1.3.3", | ||||
|         "@0x/contracts-erc20-bridge-sampler": "^1.5.1", | ||||
|         "@0x/contracts-exchange-forwarder": "^4.2.5", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.5", | ||||
|         "@0x/contracts-extensions": "^6.1.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contract-addresses": "^4.10.0", | ||||
|         "@0x/contract-wrappers": "^13.7.0", | ||||
|         "@0x/contracts-broker": "^1.1.5", | ||||
|         "@0x/contracts-coordinator": "^3.1.6", | ||||
|         "@0x/contracts-dev-utils": "^1.3.4", | ||||
|         "@0x/contracts-erc20-bridge-sampler": "^1.6.0", | ||||
|         "@0x/contracts-exchange-forwarder": "^4.2.6", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.6", | ||||
|         "@0x/contracts-extensions": "^6.2.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/coordinator-server": "^1.0.5", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/migrations": "^6.2.4", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/migrations": "^6.3.0", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@azure/core-asynciterator-polyfill": "^1.0.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
| @@ -92,20 +92,20 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/asset-swapper": "^4.4.0", | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-erc1155": "^2.1.5", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-erc721": "^3.1.5", | ||||
|         "@0x/contracts-exchange": "^3.2.5", | ||||
|         "@0x/contracts-multisig": "^4.1.5", | ||||
|         "@0x/contracts-staking": "^2.0.12", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "@0x/asset-swapper": "^4.5.0", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-erc1155": "^2.1.6", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-erc721": "^3.1.6", | ||||
|         "@0x/contracts-exchange": "^3.2.6", | ||||
|         "@0x/contracts-multisig": "^4.1.6", | ||||
|         "@0x/contracts-staking": "^2.0.13", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "ethereumjs-util": "^6.2.0", | ||||
|         "lodash": "^4.17.11" | ||||
|     }, | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "4.1.6", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "4.1.5", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v4.1.6 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v4.1.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-multisig", | ||||
|     "version": "4.1.5", | ||||
|     "version": "4.1.6", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -49,18 +49,18 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/multisig/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -78,9 +78,9 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "ethereum-types": "^3.1.0" | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "ethereum-types": "^3.1.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "2.0.13", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "2.0.12", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v2.0.13 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v2.0.12 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-staking", | ||||
|     "version": "2.0.12", | ||||
|     "version": "2.0.13", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -53,20 +53,20 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-asset-proxy": "^3.2.5", | ||||
|         "@0x/contracts-dev-utils": "^1.3.3", | ||||
|         "@0x/contracts-erc20": "^3.1.5", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.5", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-utils": "^4.4.3", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-asset-proxy": "^3.3.0", | ||||
|         "@0x/contracts-dev-utils": "^1.3.4", | ||||
|         "@0x/contracts-erc20": "^3.2.0", | ||||
|         "@0x/contracts-exchange-libs": "^4.3.6", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-utils": "^4.5.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/node": "*", | ||||
|         "chai": "^4.0.1", | ||||
| @@ -87,11 +87,11 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "ethereumjs-util": "^5.1.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|                 "note": "Add `msg` param to `assertIntegerRoughlyEquals`", | ||||
|                 "pr": 2576 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v5.3.3 - _June 24, 2020_ | ||||
|  | ||||
|     * Add `msg` param to `assertIntegerRoughlyEquals` (#2576) | ||||
|  | ||||
| ## v5.3.2 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-test-utils", | ||||
|     "version": "5.3.2", | ||||
|     "version": "5.3.3", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -34,7 +34,7 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/test-utils/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "npm-run-all": "^4.1.2", | ||||
|         "shx": "^0.2.2", | ||||
| @@ -42,20 +42,20 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contract-addresses": "^4.9.0", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/json-schemas": "^5.0.7", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/sol-coverage": "^4.0.8", | ||||
|         "@0x/sol-profiler": "^4.0.8", | ||||
|         "@0x/sol-trace": "^3.0.8", | ||||
|         "@0x/subproviders": "^6.0.8", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contract-addresses": "^4.10.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/json-schemas": "^5.0.8", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/sol-coverage": "^4.0.9", | ||||
|         "@0x/sol-profiler": "^4.0.9", | ||||
|         "@0x/sol-trace": "^3.0.9", | ||||
|         "@0x/subproviders": "^6.1.0", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/bn.js": "^4.11.0", | ||||
|         "@types/js-combinatorics": "^0.5.29", | ||||
|         "@types/lodash": "4.14.104", | ||||
| @@ -67,7 +67,7 @@ | ||||
|         "chai-bignumber": "^3.0.0", | ||||
|         "decimal.js": "^10.2.0", | ||||
|         "dirty-chai": "^2.0.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "ethereumjs-util": "^5.1.1", | ||||
|         "ethers": "~4.0.4", | ||||
|         "js-combinatorics": "^0.5.3", | ||||
|   | ||||
| @@ -26,7 +26,8 @@ | ||||
|                 "note": "Update V06 contracts to get around 0.6.9 docstring errors", | ||||
|                 "pr": 2597 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,15 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v4.5.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Added `GST_ADDRESS` and `GST_COLLECTOR_ADDRESS` (#2523) | ||||
|     * Set GST Collector address in `DeploymentConstants` (#2530) | ||||
|     * Add solidity 0.6 contracts (#2540) | ||||
|     * Add more solidity 0.6 contracts (#2545) | ||||
|     * Add UniswapV2 addresses to `DeploymentConstants` (#2595) | ||||
|     * Update V06 contracts to get around 0.6.9 docstring errors (#2597) | ||||
|  | ||||
| ## v4.4.3 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-utils", | ||||
|     "version": "4.4.3", | ||||
|     "version": "4.5.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -50,15 +50,15 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/utils/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/bn.js": "^4.11.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
| @@ -79,11 +79,11 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "bn.js": "^4.11.8", | ||||
|         "ethereum-types": "^3.1.0" | ||||
|         "ethereum-types": "^3.1.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "0.1.1", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "version": "0.1.0", | ||||
|         "changes": [ | ||||
| @@ -9,6 +18,10 @@ | ||||
|             { | ||||
|                 "note": "Introduce fill `TransformERC20` feature.", | ||||
|                 "pr": 2545 | ||||
|             }, | ||||
|             { | ||||
|                 "note": "Fill Bridges directly in `FillQuoteTransformer`.", | ||||
|                 "pr": 2608 | ||||
|             } | ||||
|         ] | ||||
|     } | ||||
|   | ||||
| @@ -4,3 +4,13 @@ Edit the package's CHANGELOG.json file only. | ||||
| --> | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v0.1.1 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v0.1.0 - _Invalid date_ | ||||
|  | ||||
|     * Create this package (#2540) | ||||
|     * Introduce fill `TransformERC20` feature. (#2545) | ||||
|     * Fill Bridges directly in `FillQuoteTransformer`. (#2608) | ||||
|   | ||||
| @@ -0,0 +1,436 @@ | ||||
| /* | ||||
|  | ||||
|   Copyright 2020 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.6.5; | ||||
| pragma experimental ABIEncoderV2; | ||||
|  | ||||
| import "@0x/contracts-utils/contracts/src/v06/errors/LibRichErrorsV06.sol"; | ||||
| import "@0x/contracts-erc20/contracts/src/v06/IERC20TokenV06.sol"; | ||||
| import "@0x/contracts-utils/contracts/src/v06/LibBytesV06.sol"; | ||||
| import "@0x/contracts-erc20/contracts/src/v06/LibERC20TokenV06.sol"; | ||||
| import "@0x/contracts-utils/contracts/src/v06/LibSafeMathV06.sol"; | ||||
| import "@0x/contracts-utils/contracts/src/v06/LibMathV06.sol"; | ||||
| import "../errors/LibTransformERC20RichErrors.sol"; | ||||
| import "../vendor/v3/IExchange.sol"; | ||||
| import "./Transformer.sol"; | ||||
| import "./LibERC20Transformer.sol"; | ||||
|  | ||||
|  | ||||
| /// @dev A transformer that fills an ERC20 market sell/buy quote. | ||||
| contract FillOrdersTransformer is | ||||
|     Transformer | ||||
| { | ||||
|     using LibERC20TokenV06 for IERC20TokenV06; | ||||
|     using LibERC20Transformer for IERC20TokenV06; | ||||
|     using LibSafeMathV06 for uint256; | ||||
|     using LibRichErrorsV06 for bytes; | ||||
|  | ||||
|     /// @dev Whether we are performing a market sell or buy. | ||||
|     enum Side { | ||||
|         Sell, | ||||
|         Buy | ||||
|     } | ||||
|  | ||||
|     /// @dev Transform data to ABI-encode and pass into `transform()`. | ||||
|     struct TransformData { | ||||
|         // Whether we aer performing a market sell or buy. | ||||
|         Side side; | ||||
|         // The token being sold. | ||||
|         // This should be an actual token, not the ETH pseudo-token. | ||||
|         IERC20TokenV06 sellToken; | ||||
|         // The token being bought. | ||||
|         // This should be an actual token, not the ETH pseudo-token. | ||||
|         IERC20TokenV06 buyToken; | ||||
|         // The orders to fill. | ||||
|         IExchange.Order[] orders; | ||||
|         // Signatures for each respective order in `orders`. | ||||
|         bytes[] signatures; | ||||
|         // Maximum fill amount for each order. This may be shorter than the | ||||
|         // number of orders, where missing entries will be treated as `uint256(-1)`. | ||||
|         // For sells, this will be the maximum sell amount (taker asset). | ||||
|         // For buys, this will be the maximum buy amount (maker asset). | ||||
|         uint256[] maxOrderFillAmounts; | ||||
|         // Amount of `sellToken` to sell or `buyToken` to buy. | ||||
|         // For sells, this may be `uint256(-1)` to sell the entire balance of | ||||
|         // `sellToken`. | ||||
|         uint256 fillAmount; | ||||
|     } | ||||
|  | ||||
|     /// @dev Results of a call to `_fillOrder()`. | ||||
|     struct FillOrderResults { | ||||
|         // The amount of taker tokens sold, according to balance checks. | ||||
|         uint256 takerTokenSoldAmount; | ||||
|         // The amount of maker tokens sold, according to balance checks. | ||||
|         uint256 makerTokenBoughtAmount; | ||||
|         // The amount of protocol fee paid. | ||||
|         uint256 protocolFeePaid; | ||||
|     } | ||||
|  | ||||
|     /// @dev The Exchange ERC20Proxy ID. | ||||
|     bytes4 private constant ERC20_ASSET_PROXY_ID = 0xf47261b0; | ||||
|     /// @dev Maximum uint256 value. | ||||
|     uint256 private constant MAX_UINT256 = uint256(-1); | ||||
|  | ||||
|     /// @dev The Exchange contract. | ||||
|     IExchange public immutable exchange; | ||||
|     /// @dev The ERC20Proxy address. | ||||
|     address public immutable erc20Proxy; | ||||
|  | ||||
|     /// @dev Create this contract. | ||||
|     /// @param exchange_ The Exchange V3 instance. | ||||
|     constructor(IExchange exchange_) | ||||
|         public | ||||
|         Transformer() | ||||
|     { | ||||
|         exchange = exchange_; | ||||
|         erc20Proxy = exchange_.getAssetProxy(ERC20_ASSET_PROXY_ID); | ||||
|     } | ||||
|  | ||||
|     /// @dev Sell this contract's entire balance of of `sellToken` in exchange | ||||
|     ///      for `buyToken` by filling `orders`. Protocol fees should be attached | ||||
|     ///      to this call. `buyToken` and excess ETH will be transferred back to the caller. | ||||
|     /// @param data_ ABI-encoded `TransformData`. | ||||
|     /// @return success The success bytes (`LibERC20Transformer.TRANSFORMER_SUCCESS`). | ||||
|     function transform( | ||||
|         bytes32, // callDataHash, | ||||
|         address payable, // taker, | ||||
|         bytes calldata data_ | ||||
|     ) | ||||
|         external | ||||
|         override | ||||
|         returns (bytes4 success) | ||||
|     { | ||||
|         TransformData memory data = abi.decode(data_, (TransformData)); | ||||
|  | ||||
|         // Validate data fields. | ||||
|         if (data.sellToken.isTokenETH() || data.buyToken.isTokenETH()) { | ||||
|             LibTransformERC20RichErrors.InvalidTransformDataError( | ||||
|                 LibTransformERC20RichErrors.InvalidTransformDataErrorCode.INVALID_TOKENS, | ||||
|                 data_ | ||||
|             ).rrevert(); | ||||
|         } | ||||
|         if (data.orders.length != data.signatures.length) { | ||||
|             LibTransformERC20RichErrors.InvalidTransformDataError( | ||||
|                 LibTransformERC20RichErrors.InvalidTransformDataErrorCode.INVALID_ARRAY_LENGTH, | ||||
|                 data_ | ||||
|             ).rrevert(); | ||||
|         } | ||||
|  | ||||
|         if (data.side == Side.Sell && data.fillAmount == MAX_UINT256) { | ||||
|             // If `sellAmount == -1 then we are selling | ||||
|             // the entire balance of `sellToken`. This is useful in cases where | ||||
|             // the exact sell amount is not exactly known in advance, like when | ||||
|             // unwrapping Chai/cUSDC/cDAI. | ||||
|             data.fillAmount = data.sellToken.getTokenBalanceOf(address(this)); | ||||
|         } | ||||
|  | ||||
|         // Approve the ERC20 proxy to spend `sellToken`. | ||||
|         data.sellToken.approveIfBelow(erc20Proxy, data.fillAmount); | ||||
|  | ||||
|         // Fill the orders. | ||||
|         uint256 singleProtocolFee = exchange.protocolFeeMultiplier().safeMul(tx.gasprice); | ||||
|         uint256 ethRemaining = address(this).balance; | ||||
|         uint256 boughtAmount = 0; | ||||
|         uint256 soldAmount = 0; | ||||
|         for (uint256 i = 0; i < data.orders.length; ++i) { | ||||
|             // Check if we've hit our targets. | ||||
|             if (data.side == Side.Sell) { | ||||
|                 // Market sell check. | ||||
|                 if (soldAmount >= data.fillAmount) { | ||||
|                     break; | ||||
|                 } | ||||
|             } else { | ||||
|                 // Market buy check. | ||||
|                 if (boughtAmount >= data.fillAmount) { | ||||
|                     break; | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             // Ensure we have enough ETH to cover the protocol fee. | ||||
|             if (ethRemaining < singleProtocolFee) { | ||||
|                 LibTransformERC20RichErrors | ||||
|                     .InsufficientProtocolFeeError(ethRemaining, singleProtocolFee) | ||||
|                     .rrevert(); | ||||
|             } | ||||
|  | ||||
|             // Fill the order. | ||||
|             FillOrderResults memory results; | ||||
|             if (data.side == Side.Sell) { | ||||
|                 // Market sell. | ||||
|                 results = _sellToOrder( | ||||
|                     data.buyToken, | ||||
|                     data.sellToken, | ||||
|                     data.orders[i], | ||||
|                     data.signatures[i], | ||||
|                     data.fillAmount.safeSub(soldAmount).min256( | ||||
|                         data.maxOrderFillAmounts.length > i | ||||
|                         ? data.maxOrderFillAmounts[i] | ||||
|                         : MAX_UINT256 | ||||
|                     ), | ||||
|                     singleProtocolFee | ||||
|                 ); | ||||
|             } else { | ||||
|                 // Market buy. | ||||
|                 results = _buyFromOrder( | ||||
|                     data.buyToken, | ||||
|                     data.sellToken, | ||||
|                     data.orders[i], | ||||
|                     data.signatures[i], | ||||
|                     data.fillAmount.safeSub(boughtAmount).min256( | ||||
|                         data.maxOrderFillAmounts.length > i | ||||
|                         ? data.maxOrderFillAmounts[i] | ||||
|                         : MAX_UINT256 | ||||
|                     ), | ||||
|                     singleProtocolFee | ||||
|                 ); | ||||
|             } | ||||
|  | ||||
|             // Accumulate totals. | ||||
|             soldAmount = soldAmount.safeAdd(results.takerTokenSoldAmount); | ||||
|             boughtAmount = boughtAmount.safeAdd(results.makerTokenBoughtAmount); | ||||
|             ethRemaining = ethRemaining.safeSub(results.protocolFeePaid); | ||||
|         } | ||||
|  | ||||
|         // Ensure we hit our targets. | ||||
|         if (data.side == Side.Sell) { | ||||
|             // Market sell check. | ||||
|             if (soldAmount < data.fillAmount) { | ||||
|                 LibTransformERC20RichErrors | ||||
|                     .IncompleteFillSellQuoteError( | ||||
|                         address(data.sellToken), | ||||
|                         soldAmount, | ||||
|                         data.fillAmount | ||||
|                     ).rrevert(); | ||||
|             } | ||||
|         } else { | ||||
|             // Market buy check. | ||||
|             if (boughtAmount < data.fillAmount) { | ||||
|                 LibTransformERC20RichErrors | ||||
|                     .IncompleteFillBuyQuoteError( | ||||
|                         address(data.buyToken), | ||||
|                         boughtAmount, | ||||
|                         data.fillAmount | ||||
|                     ).rrevert(); | ||||
|             } | ||||
|         } | ||||
|         return LibERC20Transformer.TRANSFORMER_SUCCESS; | ||||
|     } | ||||
|  | ||||
|     /// @dev Try to sell up to `sellAmount` from an order. | ||||
|     /// @param makerToken The maker/buy token. | ||||
|     /// @param takerToken The taker/sell token. | ||||
|     /// @param order The order to fill. | ||||
|     /// @param signature The signature for `order`. | ||||
|     /// @param sellAmount Amount of taker token to sell. | ||||
|     /// @param protocolFee The protocol fee needed to fill `order`. | ||||
|     function _sellToOrder( | ||||
|         IERC20TokenV06 makerToken, | ||||
|         IERC20TokenV06 takerToken, | ||||
|         IExchange.Order memory order, | ||||
|         bytes memory signature, | ||||
|         uint256 sellAmount, | ||||
|         uint256 protocolFee | ||||
|     ) | ||||
|         private | ||||
|         returns (FillOrderResults memory results) | ||||
|     { | ||||
|         IERC20TokenV06 takerFeeToken = | ||||
|             _getTokenFromERC20AssetData(order.takerFeeAssetData); | ||||
|  | ||||
|         uint256 takerTokenFillAmount = sellAmount; | ||||
|  | ||||
|         if (order.takerFee != 0) { | ||||
|             if (takerFeeToken == makerToken) { | ||||
|                 // Taker fee is payable in the maker token, so we need to | ||||
|                 // approve the proxy to spend the maker token. | ||||
|                 // It isn't worth computing the actual taker fee | ||||
|                 // since `approveIfBelow()` will set the allowance to infinite. We | ||||
|                 // just need a reasonable upper bound to avoid unnecessarily re-approving. | ||||
|                 takerFeeToken.approveIfBelow(erc20Proxy, order.takerFee); | ||||
|             } else if (takerFeeToken == takerToken){ | ||||
|                 // Taker fee is payable in the taker token, so we need to | ||||
|                 // reduce the fill amount to cover the fee. | ||||
|                 // takerTokenFillAmount' = | ||||
|                 //   (takerTokenFillAmount * order.takerAssetAmount) / | ||||
|                 //   (order.takerAssetAmount + order.takerFee) | ||||
|                 takerTokenFillAmount = LibMathV06.getPartialAmountCeil( | ||||
|                     order.takerAssetAmount, | ||||
|                     order.takerAssetAmount.safeAdd(order.takerFee), | ||||
|                     sellAmount | ||||
|                 ); | ||||
|             } else { | ||||
|                 //  Only support taker or maker asset denominated taker fees. | ||||
|                 LibTransformERC20RichErrors.InvalidTakerFeeTokenError( | ||||
|                     address(takerFeeToken) | ||||
|                 ).rrevert(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         // Clamp fill amount to order size. | ||||
|         takerTokenFillAmount = LibSafeMathV06.min256( | ||||
|             takerTokenFillAmount, | ||||
|             order.takerAssetAmount | ||||
|         ); | ||||
|  | ||||
|         // Perform the fill. | ||||
|         return _fillOrder( | ||||
|             order, | ||||
|             signature, | ||||
|             takerTokenFillAmount, | ||||
|             protocolFee, | ||||
|             makerToken, | ||||
|             takerFeeToken == takerToken | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     /// @dev Try to buy up to `buyAmount` from an order. | ||||
|     /// @param makerToken The maker/buy token. | ||||
|     /// @param takerToken The taker/sell token. | ||||
|     /// @param order The order to fill. | ||||
|     /// @param signature The signature for `order`. | ||||
|     /// @param buyAmount Amount of maker token to buy. | ||||
|     /// @param protocolFee The protocol fee needed to fill `order`. | ||||
|     function _buyFromOrder( | ||||
|         IERC20TokenV06 makerToken, | ||||
|         IERC20TokenV06 takerToken, | ||||
|         IExchange.Order memory order, | ||||
|         bytes memory signature, | ||||
|         uint256 buyAmount, | ||||
|         uint256 protocolFee | ||||
|     ) | ||||
|         private | ||||
|         returns (FillOrderResults memory results) | ||||
|     { | ||||
|         IERC20TokenV06 takerFeeToken = | ||||
|             _getTokenFromERC20AssetData(order.takerFeeAssetData); | ||||
|         // Compute the default taker token fill amount. | ||||
|         uint256 takerTokenFillAmount = LibMathV06.getPartialAmountCeil( | ||||
|             buyAmount, | ||||
|             order.makerAssetAmount, | ||||
|             order.takerAssetAmount | ||||
|         ); | ||||
|  | ||||
|         if (order.takerFee != 0) { | ||||
|             if (takerFeeToken == makerToken) { | ||||
|                 // Taker fee is payable in the maker token. | ||||
|                 // Adjust the taker token fill amount to account for maker | ||||
|                 // tokens being lost to the taker fee. | ||||
|                 // takerTokenFillAmount' = | ||||
|                 //  (order.takerAssetAmount * buyAmount) / | ||||
|                 //  (order.makerAssetAmount - order.takerFee) | ||||
|                 takerTokenFillAmount = LibMathV06.getPartialAmountCeil( | ||||
|                     buyAmount, | ||||
|                     order.makerAssetAmount.safeSub(order.takerFee), | ||||
|                     order.takerAssetAmount | ||||
|                 ); | ||||
|                 // Approve the proxy to spend the maker token. | ||||
|                 // It isn't worth computing the actual taker fee | ||||
|                 // since `approveIfBelow()` will set the allowance to infinite. We | ||||
|                 // just need a reasonable upper bound to avoid unnecessarily re-approving. | ||||
|                 takerFeeToken.approveIfBelow(erc20Proxy, order.takerFee); | ||||
|             } else if (takerFeeToken != takerToken) { | ||||
|                 //  Only support taker or maker asset denominated taker fees. | ||||
|                 LibTransformERC20RichErrors.InvalidTakerFeeTokenError( | ||||
|                     address(takerFeeToken) | ||||
|                 ).rrevert(); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         // Clamp to order size. | ||||
|         takerTokenFillAmount = LibSafeMathV06.min256( | ||||
|             order.takerAssetAmount, | ||||
|             takerTokenFillAmount | ||||
|         ); | ||||
|  | ||||
|         // Perform the fill. | ||||
|         return _fillOrder( | ||||
|             order, | ||||
|             signature, | ||||
|             takerTokenFillAmount, | ||||
|             protocolFee, | ||||
|             makerToken, | ||||
|             takerFeeToken == takerToken | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     /// @dev Attempt to fill an order. If the fill reverts, the revert will be | ||||
|     ///      swallowed and `results` will be zeroed out. | ||||
|     /// @param order The order to fill. | ||||
|     /// @param signature The order signature. | ||||
|     /// @param takerAssetFillAmount How much taker asset to fill. | ||||
|     /// @param protocolFee The protocol fee needed to fill this order. | ||||
|     /// @param makerToken The maker token. | ||||
|     /// @param isTakerFeeInTakerToken Whether the taker fee token is the same as the | ||||
|     ///        taker token. | ||||
|     function _fillOrder( | ||||
|         IExchange.Order memory order, | ||||
|         bytes memory signature, | ||||
|         uint256 takerAssetFillAmount, | ||||
|         uint256 protocolFee, | ||||
|         IERC20TokenV06 makerToken, | ||||
|         bool isTakerFeeInTakerToken | ||||
|     ) | ||||
|         private | ||||
|         returns (FillOrderResults memory results) | ||||
|     { | ||||
|         // Track changes in the maker token balance. | ||||
|         uint256 initialMakerTokenBalance = makerToken.balanceOf(address(this)); | ||||
|         try | ||||
|             exchange.fillOrder | ||||
|                 {value: protocolFee} | ||||
|                 (order, takerAssetFillAmount, signature) | ||||
|             returns (IExchange.FillResults memory fillResults) | ||||
|         { | ||||
|             // Update maker quantity based on changes in token balances. | ||||
|             results.makerTokenBoughtAmount = makerToken.balanceOf(address(this)) | ||||
|                 .safeSub(initialMakerTokenBalance); | ||||
|             // We can trust the other fill result quantities. | ||||
|             results.protocolFeePaid = fillResults.protocolFeePaid; | ||||
|             results.takerTokenSoldAmount = fillResults.takerAssetFilledAmount; | ||||
|             // If the taker fee is payable in the taker asset, include the | ||||
|             // taker fee in the total amount sold. | ||||
|             if (isTakerFeeInTakerToken) { | ||||
|                 results.takerTokenSoldAmount = | ||||
|                     results.takerTokenSoldAmount.safeAdd(fillResults.takerFeePaid); | ||||
|             } | ||||
|         } catch (bytes memory) { | ||||
|             // Swallow failures, leaving all results as zero. | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// @dev Extract the token from plain ERC20 asset data. | ||||
|     ///      If the asset-data is empty, a zero token address will be returned. | ||||
|     /// @param assetData The order asset data. | ||||
|     function _getTokenFromERC20AssetData(bytes memory assetData) | ||||
|         private | ||||
|         pure | ||||
|         returns (IERC20TokenV06 token) | ||||
|     { | ||||
|         if (assetData.length == 0) { | ||||
|             return IERC20TokenV06(address(0)); | ||||
|         } | ||||
|         if (assetData.length != 36 || | ||||
|             LibBytesV06.readBytes4(assetData, 0) != ERC20_ASSET_PROXY_ID) | ||||
|         { | ||||
|             LibTransformERC20RichErrors | ||||
|                 .InvalidERC20AssetDataError(assetData) | ||||
|                 .rrevert(); | ||||
|         } | ||||
|         return IERC20TokenV06(LibBytesV06.readAddress(assetData, 16)); | ||||
|     } | ||||
| } | ||||
| @@ -27,11 +27,13 @@ import "@0x/contracts-utils/contracts/src/v06/LibSafeMathV06.sol"; | ||||
| import "@0x/contracts-utils/contracts/src/v06/LibMathV06.sol"; | ||||
| import "../errors/LibTransformERC20RichErrors.sol"; | ||||
| import "../vendor/v3/IExchange.sol"; | ||||
| import "../vendor/v3/IERC20Bridge.sol"; | ||||
| import "./Transformer.sol"; | ||||
| import "./LibERC20Transformer.sol"; | ||||
|  | ||||
|  | ||||
| /// @dev A transformer that fills an ERC20 market sell/buy quote. | ||||
| ///      This transformer shortcuts bridge orders and fills them directly | ||||
| contract FillQuoteTransformer is | ||||
|     Transformer | ||||
| { | ||||
| @@ -39,6 +41,7 @@ contract FillQuoteTransformer is | ||||
|     using LibERC20Transformer for IERC20TokenV06; | ||||
|     using LibSafeMathV06 for uint256; | ||||
|     using LibRichErrorsV06 for bytes; | ||||
|     using LibBytesV06 for bytes; | ||||
|  | ||||
|     /// @dev Whether we are performing a market sell or buy. | ||||
|     enum Side { | ||||
| @@ -83,6 +86,8 @@ contract FillQuoteTransformer is | ||||
|  | ||||
|     /// @dev The Exchange ERC20Proxy ID. | ||||
|     bytes4 private constant ERC20_ASSET_PROXY_ID = 0xf47261b0; | ||||
|     /// @dev The Exchange ERC20BridgeProxy ID. | ||||
|     bytes4 private constant ERC20_BRIDGE_PROXY_ID = 0xdc1600f3; | ||||
|     /// @dev Maximum uint256 value. | ||||
|     uint256 private constant MAX_UINT256 = uint256(-1); | ||||
|  | ||||
| @@ -90,6 +95,8 @@ contract FillQuoteTransformer is | ||||
|     IExchange public immutable exchange; | ||||
|     /// @dev The ERC20Proxy address. | ||||
|     address public immutable erc20Proxy; | ||||
|     /// @dev The Transformer implementation (self) address. | ||||
|     address public immutable implementation; | ||||
|  | ||||
|     /// @dev Create this contract. | ||||
|     /// @param exchange_ The Exchange V3 instance. | ||||
| @@ -99,6 +106,7 @@ contract FillQuoteTransformer is | ||||
|     { | ||||
|         exchange = exchange_; | ||||
|         erc20Proxy = exchange_.getAssetProxy(ERC20_ASSET_PROXY_ID); | ||||
|         implementation = address(this); | ||||
|     } | ||||
|  | ||||
|     /// @dev Sell this contract's entire balance of of `sellToken` in exchange | ||||
| @@ -144,7 +152,6 @@ contract FillQuoteTransformer is | ||||
|  | ||||
|         // Fill the orders. | ||||
|         uint256 singleProtocolFee = exchange.protocolFeeMultiplier().safeMul(tx.gasprice); | ||||
|         uint256 ethRemaining = address(this).balance; | ||||
|         uint256 boughtAmount = 0; | ||||
|         uint256 soldAmount = 0; | ||||
|         for (uint256 i = 0; i < data.orders.length; ++i) { | ||||
| @@ -161,13 +168,6 @@ contract FillQuoteTransformer is | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             // Ensure we have enough ETH to cover the protocol fee. | ||||
|             if (ethRemaining < singleProtocolFee) { | ||||
|                 LibTransformERC20RichErrors | ||||
|                     .InsufficientProtocolFeeError(ethRemaining, singleProtocolFee) | ||||
|                     .rrevert(); | ||||
|             } | ||||
|  | ||||
|             // Fill the order. | ||||
|             FillOrderResults memory results; | ||||
|             if (data.side == Side.Sell) { | ||||
| @@ -203,7 +203,6 @@ contract FillQuoteTransformer is | ||||
|             // Accumulate totals. | ||||
|             soldAmount = soldAmount.safeAdd(results.takerTokenSoldAmount); | ||||
|             boughtAmount = boughtAmount.safeAdd(results.makerTokenBoughtAmount); | ||||
|             ethRemaining = ethRemaining.safeSub(results.protocolFeePaid); | ||||
|         } | ||||
|  | ||||
|         // Ensure we hit our targets. | ||||
| @@ -387,30 +386,107 @@ contract FillQuoteTransformer is | ||||
|     ) | ||||
|         private | ||||
|         returns (FillOrderResults memory results) | ||||
|     { | ||||
|         bytes4 makerAssetProxyId = order.makerAssetData.readBytes4(0); | ||||
|         // If it is a Bridge order we fill this directly | ||||
|         // rather than filling via 0x Exchange | ||||
|         if (makerAssetProxyId == ERC20_BRIDGE_PROXY_ID) { | ||||
|             uint256 outputTokenAmount = LibMathV06.getPartialAmountFloor( | ||||
|                 takerAssetFillAmount, | ||||
|                 order.takerAssetAmount, | ||||
|                 order.makerAssetAmount | ||||
|             ); | ||||
|             (bool success, bytes memory data) = address(implementation).delegatecall( | ||||
|                 abi.encodeWithSelector( | ||||
|                     this.fillBridgeOrder.selector, | ||||
|                     order, | ||||
|                     takerAssetFillAmount, | ||||
|                     outputTokenAmount, | ||||
|                     makerToken | ||||
|                 ) | ||||
|             ); | ||||
|             if (success) { | ||||
|                 results = abi.decode(data, (FillOrderResults)); | ||||
|             } | ||||
|             // Swallow failures, leaving all results as zero. | ||||
|         } else { | ||||
|             // Ensure we have enough ETH to cover the protocol fee. | ||||
|             if (address(this).balance < protocolFee) { | ||||
|                 return results; | ||||
|             } | ||||
|             // Track changes in the maker token balance. | ||||
|             uint256 initialMakerTokenBalance = makerToken.balanceOf(address(this)); | ||||
|             try | ||||
|                 exchange.fillOrder | ||||
|                     {value: protocolFee} | ||||
|                     (order, takerAssetFillAmount, signature) | ||||
|                 returns (IExchange.FillResults memory fillResults) | ||||
|             { | ||||
|                 // Update maker quantity based on changes in token balances. | ||||
|                 results.makerTokenBoughtAmount = makerToken.balanceOf(address(this)) | ||||
|                     .safeSub(initialMakerTokenBalance); | ||||
|                 // We can trust the other fill result quantities. | ||||
|                 results.protocolFeePaid = fillResults.protocolFeePaid; | ||||
|                 results.takerTokenSoldAmount = fillResults.takerAssetFilledAmount; | ||||
|                 // If the taker fee is payable in the taker asset, include the | ||||
|                 // taker fee in the total amount sold. | ||||
|                 if (isTakerFeeInTakerToken) { | ||||
|                     results.takerTokenSoldAmount = | ||||
|                         results.takerTokenSoldAmount.safeAdd(fillResults.takerFeePaid); | ||||
|                 } | ||||
|             } catch (bytes memory) { | ||||
|                 // Swallow failures, leaving all results as zero. | ||||
|             } | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     /// @dev Attempt to fill an ERC20 Bridge order. If the fill reverts, | ||||
|     ///      or the amount filled was not sufficient this reverts. | ||||
|     /// @param order The bridge order to fill. | ||||
|     /// @param inputTokenAmount How much taker asset to fill. | ||||
|     /// @param outputTokenAmount How much maker asset to receive. | ||||
|     /// @param makerToken The maker token. | ||||
|     function fillBridgeOrder( | ||||
|         IExchange.Order calldata order, | ||||
|         uint256 inputTokenAmount, | ||||
|         uint256 outputTokenAmount, | ||||
|         IERC20TokenV06 makerToken | ||||
|     ) | ||||
|         external | ||||
|         returns (FillOrderResults memory results) | ||||
|     { | ||||
|         // Track changes in the maker token balance. | ||||
|         uint256 initialMakerTokenBalance = makerToken.balanceOf(address(this)); | ||||
|         try | ||||
|             exchange.fillOrder | ||||
|                 {value: protocolFee} | ||||
|                 (order, takerAssetFillAmount, signature) | ||||
|             returns (IExchange.FillResults memory fillResults) | ||||
|         { | ||||
|             // Update maker quantity based on changes in token balances. | ||||
|             results.makerTokenBoughtAmount = makerToken.balanceOf(address(this)) | ||||
|                 .safeSub(initialMakerTokenBalance); | ||||
|             // We can trust the other fill result quantities. | ||||
|             results.protocolFeePaid = fillResults.protocolFeePaid; | ||||
|             results.takerTokenSoldAmount = fillResults.takerAssetFilledAmount; | ||||
|             // If the taker fee is payable in the taker asset, include the | ||||
|             // taker fee in the total amount sold. | ||||
|             if (isTakerFeeInTakerToken) { | ||||
|                 results.takerTokenSoldAmount = | ||||
|                     results.takerTokenSoldAmount.safeAdd(fillResults.takerFeePaid); | ||||
|             } | ||||
|         } catch (bytes memory) { | ||||
|             // Swallow failures, leaving all results as zero. | ||||
|         } | ||||
|         ( | ||||
|             address tokenAddress, | ||||
|             address bridgeAddress, | ||||
|             bytes memory bridgeData | ||||
|         ) = abi.decode( | ||||
|             order.makerAssetData.sliceDestructive(4, order.makerAssetData.length), | ||||
|             (address, address, bytes) | ||||
|         ); | ||||
|         require(bridgeAddress != address(this), "INVALID_BRIDGE_ADDRESS"); | ||||
|         // Transfer the tokens to the bridge to perform the work | ||||
|         _getTokenFromERC20AssetData(order.takerAssetData).compatTransfer( | ||||
|             bridgeAddress, | ||||
|             inputTokenAmount | ||||
|         ); | ||||
|         IERC20Bridge(bridgeAddress).bridgeTransferFrom( | ||||
|             tokenAddress, | ||||
|             order.makerAddress, | ||||
|             address(this), | ||||
|             outputTokenAmount, // amount to transfer back from the bridge | ||||
|             bridgeData | ||||
|         ); | ||||
|         uint256 afterMakerTokenBalance = makerToken.balanceOf(address(this)); | ||||
|         // Ensure that the maker token balance has increased by the expected amount | ||||
|         require( | ||||
|             afterMakerTokenBalance >= initialMakerTokenBalance.safeAdd(outputTokenAmount), | ||||
|             "BRIDGE_UNDERPAY" | ||||
|         ); | ||||
|         results.makerTokenBoughtAmount = afterMakerTokenBalance.safeSub(initialMakerTokenBalance); | ||||
|         results.takerTokenSoldAmount = inputTokenAmount; | ||||
|         // protocol fee paid remains 0 | ||||
|     } | ||||
|  | ||||
|     /// @dev Extract the token from plain ERC20 asset data. | ||||
|   | ||||
							
								
								
									
										55
									
								
								contracts/zero-ex/contracts/src/vendor/v3/IERC20Bridge.sol
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								contracts/zero-ex/contracts/src/vendor/v3/IERC20Bridge.sol
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | ||||
| /* | ||||
|  | ||||
|   Copyright 2020 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.6.5; | ||||
|  | ||||
| interface IERC20Bridge { | ||||
|  | ||||
|     /// @dev Emitted when a trade occurs. | ||||
|     /// @param inputToken The token the bridge is converting from. | ||||
|     /// @param outputToken The token the bridge is converting to. | ||||
|     /// @param inputTokenAmount Amount of input token. | ||||
|     /// @param outputTokenAmount Amount of output token. | ||||
|     /// @param from The `from` address in `bridgeTransferFrom()` | ||||
|     /// @param to The `to` address in `bridgeTransferFrom()` | ||||
|     event ERC20BridgeTransfer( | ||||
|         address inputToken, | ||||
|         address outputToken, | ||||
|         uint256 inputTokenAmount, | ||||
|         uint256 outputTokenAmount, | ||||
|         address from, | ||||
|         address to | ||||
|     ); | ||||
|  | ||||
|     /// @dev Transfers `amount` of the ERC20 `tokenAddress` from `from` to `to`. | ||||
|     /// @param tokenAddress The address of the ERC20 token to transfer. | ||||
|     /// @param from Address to transfer asset from. | ||||
|     /// @param to Address to transfer asset to. | ||||
|     /// @param amount Amount of asset to transfer. | ||||
|     /// @param bridgeData Arbitrary asset data needed by the bridge contract. | ||||
|     /// @return success The magic bytes `0xdc1600f3` if successful. | ||||
|     function bridgeTransferFrom( | ||||
|         address tokenAddress, | ||||
|         address from, | ||||
|         address to, | ||||
|         uint256 amount, | ||||
|         bytes calldata bridgeData | ||||
|     ) | ||||
|         external | ||||
|         returns (bytes4 success); | ||||
| } | ||||
| @@ -0,0 +1,65 @@ | ||||
| /* | ||||
|  | ||||
|   Copyright 2020 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.6.5; | ||||
| pragma experimental ABIEncoderV2; | ||||
|  | ||||
| import "@0x/contracts-utils/contracts/src/v06/LibMathV06.sol"; | ||||
| import "../src/vendor/v3/IERC20Bridge.sol"; | ||||
| import "./TestMintableERC20Token.sol"; | ||||
|  | ||||
|  | ||||
| contract TestFillQuoteTransformerBridge { | ||||
|  | ||||
|     struct FillBehavior { | ||||
|         // Scaling for maker assets minted, in 1e18. | ||||
|         uint256 makerAssetMintRatio; | ||||
|     } | ||||
|  | ||||
|     bytes4 private constant ERC20_BRIDGE_PROXY_ID = 0xdc1600f3; | ||||
|  | ||||
|     function bridgeTransferFrom( | ||||
|         address tokenAddress, | ||||
|         address from, | ||||
|         address to, | ||||
|         uint256 amount, | ||||
|         bytes calldata bridgeData | ||||
|     ) | ||||
|         external | ||||
|         returns (bytes4 success) | ||||
|     { | ||||
|         FillBehavior memory behavior = abi.decode(bridgeData, (FillBehavior)); | ||||
|         TestMintableERC20Token(tokenAddress).mint( | ||||
|           to, | ||||
|           LibMathV06.getPartialAmountFloor( | ||||
|               behavior.makerAssetMintRatio, | ||||
|               1e18, | ||||
|               amount | ||||
|           ) | ||||
|         ); | ||||
|         return ERC20_BRIDGE_PROXY_ID; | ||||
|     } | ||||
|  | ||||
|     function encodeBehaviorData(FillBehavior calldata behavior) | ||||
|         external | ||||
|         pure | ||||
|         returns (bytes memory encoded) | ||||
|     { | ||||
|         return abi.encode(behavior); | ||||
|     } | ||||
| } | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-zero-ex", | ||||
|     "version": "0.1.0", | ||||
|     "version": "0.1.1", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -35,12 +35,13 @@ | ||||
|         "lint-contracts": "#solhint -c ../.solhint.json contracts/**/**/**/**/*.sol", | ||||
|         "compile:truffle": "truffle compile", | ||||
|         "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json", | ||||
|         "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES" | ||||
|         "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES", | ||||
|         "publish:private": "yarn build && gitpkg publish" | ||||
|     }, | ||||
|     "config": { | ||||
|         "publicInterfaceContracts": "ZeroEx,FullMigration,InitialMigration,IFlashWallet,IAllowanceTarget,IERC20Transformer,IOwnable,ISimpleFunctionRegistry,ITokenSpender,ITransformERC20,FillQuoteTransformer,PayTakerTransformer,WethTransformer", | ||||
|         "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.", | ||||
|         "abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|AllowanceTarget|Bootstrap|FillQuoteTransformer|FixinCommon|FlashWallet|FullMigration|IAllowanceTarget|IBootstrap|IERC20Transformer|IExchange|IFeature|IFlashWallet|IOwnable|ISimpleFunctionRegistry|ITestSimpleFunctionRegistryFeature|ITokenSpender|ITransformERC20|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC20Transformer|LibMigrate|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibSpenderRichErrors|LibStorage|LibTokenSpenderStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|Ownable|PayTakerTransformer|SimpleFunctionRegistry|TestCallTarget|TestDelegateCaller|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFullMigration|TestInitialMigration|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC20Token|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestTokenSpender|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestWeth|TestWethTransformerHost|TestZeroExFeature|TokenSpender|TransformERC20|Transformer|TransformerDeployer|WethTransformer|ZeroEx).json" | ||||
|         "abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|AllowanceTarget|Bootstrap|FillOrdersTransformer|FillQuoteTransformer|FixinCommon|FlashWallet|FullMigration|IAllowanceTarget|IBootstrap|IERC20Bridge|IERC20Transformer|IExchange|IFeature|IFlashWallet|IOwnable|ISimpleFunctionRegistry|ITestSimpleFunctionRegistryFeature|ITokenSpender|ITransformERC20|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC20Transformer|LibMigrate|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibSpenderRichErrors|LibStorage|LibTokenSpenderStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|Ownable|PayTakerTransformer|SimpleFunctionRegistry|TestCallTarget|TestDelegateCaller|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFullMigration|TestInitialMigration|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC20Token|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestTokenSpender|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestWeth|TestWethTransformerHost|TestZeroExFeature|TokenSpender|TransformERC20|Transformer|TransformerDeployer|WethTransformer|ZeroEx).json" | ||||
|     }, | ||||
|     "repository": { | ||||
|         "type": "git", | ||||
| @@ -52,13 +53,13 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/contracts/zero-ex/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/abi-gen": "^5.2.2", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/subproviders": "^6.0.8", | ||||
|         "@0x/abi-gen": "^5.3.0", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/subproviders": "^6.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
| @@ -74,12 +75,12 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "ethereumjs-util": "^5.1.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|   | ||||
| @@ -8,12 +8,14 @@ import { ContractArtifact } from 'ethereum-types'; | ||||
| import * as AffiliateFeeTransformer from '../test/generated-artifacts/AffiliateFeeTransformer.json'; | ||||
| import * as AllowanceTarget from '../test/generated-artifacts/AllowanceTarget.json'; | ||||
| import * as Bootstrap from '../test/generated-artifacts/Bootstrap.json'; | ||||
| import * as FillOrdersTransformer from '../test/generated-artifacts/FillOrdersTransformer.json'; | ||||
| import * as FillQuoteTransformer from '../test/generated-artifacts/FillQuoteTransformer.json'; | ||||
| import * as FixinCommon from '../test/generated-artifacts/FixinCommon.json'; | ||||
| import * as FlashWallet from '../test/generated-artifacts/FlashWallet.json'; | ||||
| import * as FullMigration from '../test/generated-artifacts/FullMigration.json'; | ||||
| import * as IAllowanceTarget from '../test/generated-artifacts/IAllowanceTarget.json'; | ||||
| import * as IBootstrap from '../test/generated-artifacts/IBootstrap.json'; | ||||
| import * as IERC20Bridge from '../test/generated-artifacts/IERC20Bridge.json'; | ||||
| import * as IERC20Transformer from '../test/generated-artifacts/IERC20Transformer.json'; | ||||
| import * as IExchange from '../test/generated-artifacts/IExchange.json'; | ||||
| import * as IFeature from '../test/generated-artifacts/IFeature.json'; | ||||
| @@ -45,6 +47,7 @@ import * as PayTakerTransformer from '../test/generated-artifacts/PayTakerTransf | ||||
| import * as SimpleFunctionRegistry from '../test/generated-artifacts/SimpleFunctionRegistry.json'; | ||||
| import * as TestCallTarget from '../test/generated-artifacts/TestCallTarget.json'; | ||||
| import * as TestDelegateCaller from '../test/generated-artifacts/TestDelegateCaller.json'; | ||||
| import * as TestFillQuoteTransformerBridge from '../test/generated-artifacts/TestFillQuoteTransformerBridge.json'; | ||||
| import * as TestFillQuoteTransformerExchange from '../test/generated-artifacts/TestFillQuoteTransformerExchange.json'; | ||||
| import * as TestFillQuoteTransformerHost from '../test/generated-artifacts/TestFillQuoteTransformerHost.json'; | ||||
| import * as TestFullMigration from '../test/generated-artifacts/TestFullMigration.json'; | ||||
| @@ -106,16 +109,19 @@ export const artifacts = { | ||||
|     LibTokenSpenderStorage: LibTokenSpenderStorage as ContractArtifact, | ||||
|     LibTransformERC20Storage: LibTransformERC20Storage as ContractArtifact, | ||||
|     AffiliateFeeTransformer: AffiliateFeeTransformer as ContractArtifact, | ||||
|     FillOrdersTransformer: FillOrdersTransformer as ContractArtifact, | ||||
|     FillQuoteTransformer: FillQuoteTransformer as ContractArtifact, | ||||
|     IERC20Transformer: IERC20Transformer as ContractArtifact, | ||||
|     LibERC20Transformer: LibERC20Transformer as ContractArtifact, | ||||
|     PayTakerTransformer: PayTakerTransformer as ContractArtifact, | ||||
|     Transformer: Transformer as ContractArtifact, | ||||
|     WethTransformer: WethTransformer as ContractArtifact, | ||||
|     IERC20Bridge: IERC20Bridge as ContractArtifact, | ||||
|     IExchange: IExchange as ContractArtifact, | ||||
|     ITestSimpleFunctionRegistryFeature: ITestSimpleFunctionRegistryFeature as ContractArtifact, | ||||
|     TestCallTarget: TestCallTarget as ContractArtifact, | ||||
|     TestDelegateCaller: TestDelegateCaller as ContractArtifact, | ||||
|     TestFillQuoteTransformerBridge: TestFillQuoteTransformerBridge as ContractArtifact, | ||||
|     TestFillQuoteTransformerExchange: TestFillQuoteTransformerExchange as ContractArtifact, | ||||
|     TestFillQuoteTransformerHost: TestFillQuoteTransformerHost as ContractArtifact, | ||||
|     TestFullMigration: TestFullMigration as ContractArtifact, | ||||
|   | ||||
| @@ -18,6 +18,7 @@ import { | ||||
|     FillQuoteTransformerSide, | ||||
| } from '../../src/transformer_data_encoders'; | ||||
| import { artifacts } from '../artifacts'; | ||||
| import { TestFillQuoteTransformerBridgeContract } from '../generated-wrappers/test_fill_quote_transformer_bridge'; | ||||
| import { | ||||
|     FillQuoteTransformerContract, | ||||
|     TestFillQuoteTransformerExchangeContract, | ||||
| @@ -31,6 +32,7 @@ blockchainTests.resets('FillQuoteTransformer', env => { | ||||
|     let maker: string; | ||||
|     let feeRecipient: string; | ||||
|     let exchange: TestFillQuoteTransformerExchangeContract; | ||||
|     let bridge: TestFillQuoteTransformerBridgeContract; | ||||
|     let transformer: FillQuoteTransformerContract; | ||||
|     let host: TestFillQuoteTransformerHostContract; | ||||
|     let makerToken: TestMintableERC20TokenContract; | ||||
| @@ -64,6 +66,12 @@ blockchainTests.resets('FillQuoteTransformer', env => { | ||||
|             }, | ||||
|             artifacts, | ||||
|         ); | ||||
|         bridge = await TestFillQuoteTransformerBridgeContract.deployFrom0xArtifactAsync( | ||||
|             artifacts.TestFillQuoteTransformerBridge, | ||||
|             env.provider, | ||||
|             env.txDefaults, | ||||
|             artifacts, | ||||
|         ); | ||||
|         [makerToken, takerToken, takerFeeToken] = await Promise.all( | ||||
|             _.times(3, async () => | ||||
|                 TestMintableERC20TokenContract.deployFrom0xArtifactAsync( | ||||
| @@ -102,6 +110,19 @@ blockchainTests.resets('FillQuoteTransformer', env => { | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     function createBridgeOrder(fields: Partial<Order> = {}, bridgeData: string = encodeBridgeBehavior()): FilledOrder { | ||||
|         const order = createOrder(fields); | ||||
|         return { | ||||
|             ...order, | ||||
|             makerAddress: bridge.address, | ||||
|             makerAssetData: assetDataUtils.encodeERC20BridgeAssetData(makerToken.address, bridge.address, bridgeData), | ||||
|             makerFeeAssetData: NULL_BYTES, | ||||
|             takerFeeAssetData: NULL_BYTES, | ||||
|             makerFee: ZERO_AMOUNT, | ||||
|             takerFee: ZERO_AMOUNT, | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     interface QuoteFillResults { | ||||
|         makerAssetBought: BigNumber; | ||||
|         takerAssetSpent: BigNumber; | ||||
| @@ -244,6 +265,17 @@ blockchainTests.resets('FillQuoteTransformer', env => { | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     function encodeBridgeBehavior(makerAssetMintRatio: Numberish = 1.0): string { | ||||
|         return hexUtils.slice( | ||||
|             bridge | ||||
|                 .encodeBehaviorData({ | ||||
|                     makerAssetMintRatio: new BigNumber(makerAssetMintRatio).times('1e18').integerValue(), | ||||
|                 }) | ||||
|                 .getABIEncodedTransactionData(), | ||||
|             4, | ||||
|         ); | ||||
|     } | ||||
|  | ||||
|     const ERC20_ASSET_PROXY_ID = '0xf47261b0'; | ||||
|  | ||||
|     describe('sell quotes', () => { | ||||
| @@ -420,7 +452,7 @@ blockchainTests.resets('FillQuoteTransformer', env => { | ||||
|             ); | ||||
|         }); | ||||
|  | ||||
|         it('fails if not enough protocol fee provided', async () => { | ||||
|         it.skip('fails if not enough protocol fee provided', async () => { | ||||
|             const orders = _.times(3, () => createOrder()); | ||||
|             const signatures = orders.map(() => encodeExchangeBehavior()); | ||||
|             const qfr = getExpectedSellQuoteFillResults(orders); | ||||
| @@ -861,4 +893,133 @@ blockchainTests.resets('FillQuoteTransformer', env => { | ||||
|             }); | ||||
|         }); | ||||
|     }); | ||||
|  | ||||
|     describe('bridge orders', () => { | ||||
|         it('can fully sell to a single bridge order quote', async () => { | ||||
|             const orders = _.times(1, () => createBridgeOrder()); | ||||
|             const signatures = orders.map(() => NULL_BYTES); | ||||
|             const qfr = getExpectedSellQuoteFillResults(orders); | ||||
|             await host | ||||
|                 .executeTransform( | ||||
|                     transformer.address, | ||||
|                     takerToken.address, | ||||
|                     qfr.takerAssetSpent, | ||||
|                     encodeTransformData({ | ||||
|                         orders, | ||||
|                         signatures, | ||||
|                     }), | ||||
|                 ) | ||||
|                 .awaitTransactionSuccessAsync({ value: ZERO_AMOUNT }); | ||||
|             assertBalances(await getBalancesAsync(host.address), { | ||||
|                 ...ZERO_BALANCES, | ||||
|                 makerAssetBalance: qfr.makerAssetBought, | ||||
|             }); | ||||
|         }); | ||||
|  | ||||
|         it('can sell to a mix of order quote', async () => { | ||||
|             const nativeOrders = [createOrder()]; | ||||
|             const bridgeOrders = [createBridgeOrder()]; | ||||
|             const orders = [...nativeOrders, ...bridgeOrders]; | ||||
|             const signatures = [ | ||||
|                 ...nativeOrders.map(() => encodeExchangeBehavior()), // Valid Signatures | ||||
|                 ...bridgeOrders.map(() => NULL_BYTES), // Valid Signatures | ||||
|             ]; | ||||
|             const qfr = getExpectedSellQuoteFillResults(orders); | ||||
|             await host | ||||
|                 .executeTransform( | ||||
|                     transformer.address, | ||||
|                     takerToken.address, | ||||
|                     qfr.takerAssetSpent, | ||||
|                     encodeTransformData({ | ||||
|                         orders, | ||||
|                         signatures, | ||||
|                     }), | ||||
|                 ) | ||||
|                 .awaitTransactionSuccessAsync({ value: singleProtocolFee.times(nativeOrders.length) }); | ||||
|             assertBalances(await getBalancesAsync(host.address), { | ||||
|                 ...ZERO_BALANCES, | ||||
|                 makerAssetBalance: qfr.makerAssetBought, | ||||
|             }); | ||||
|         }); | ||||
|  | ||||
|         it('can attempt to sell to a mix of order quote handling reverts', async () => { | ||||
|             const nativeOrders = _.times(3, () => createOrder()); | ||||
|             const bridgeOrders = [createBridgeOrder()]; | ||||
|             const orders = [...nativeOrders, ...bridgeOrders]; | ||||
|             const signatures = [ | ||||
|                 ...nativeOrders.map(() => NULL_BYTES), // Invalid Signatures | ||||
|                 ...bridgeOrders.map(() => NULL_BYTES), // Valid Signatures | ||||
|             ]; | ||||
|             const qfr = getExpectedSellQuoteFillResults(bridgeOrders); | ||||
|             await host | ||||
|                 .executeTransform( | ||||
|                     transformer.address, | ||||
|                     takerToken.address, | ||||
|                     qfr.takerAssetSpent, | ||||
|                     encodeTransformData({ | ||||
|                         orders, | ||||
|                         signatures, | ||||
|                     }), | ||||
|                 ) | ||||
|                 // Single protocol fee as all Native orders will fail | ||||
|                 .awaitTransactionSuccessAsync({ value: singleProtocolFee }); | ||||
|             assertBalances(await getBalancesAsync(host.address), { | ||||
|                 ...ZERO_BALANCES, | ||||
|                 makerAssetBalance: qfr.makerAssetBought, | ||||
|                 protocolFeeBalance: singleProtocolFee, | ||||
|             }); | ||||
|         }); | ||||
|  | ||||
|         it('can continue to the bridge order if the native order reverts', async () => { | ||||
|             const nativeOrders = [createOrder()]; | ||||
|             const bridgeOrders = [createBridgeOrder()]; | ||||
|             const orders = [...nativeOrders, ...bridgeOrders]; | ||||
|             const signatures = [ | ||||
|                 ...nativeOrders.map(() => encodeExchangeBehavior()), // Valid Signatures | ||||
|                 ...bridgeOrders.map(() => NULL_BYTES), // Valid Signatures | ||||
|             ]; | ||||
|             const qfr = getExpectedSellQuoteFillResults(bridgeOrders); | ||||
|             await host | ||||
|                 .executeTransform( | ||||
|                     transformer.address, | ||||
|                     takerToken.address, | ||||
|                     qfr.takerAssetSpent, | ||||
|                     encodeTransformData({ | ||||
|                         orders, | ||||
|                         signatures, | ||||
|                     }), | ||||
|                 ) | ||||
|                 // Insufficient single protocol fee | ||||
|                 .awaitTransactionSuccessAsync({ value: singleProtocolFee.minus(1) }); | ||||
|             assertBalances(await getBalancesAsync(host.address), { | ||||
|                 ...ZERO_BALANCES, | ||||
|                 makerAssetBalance: qfr.makerAssetBought, | ||||
|                 protocolFeeBalance: singleProtocolFee, | ||||
|             }); | ||||
|         }); | ||||
|  | ||||
|         it('reverts when the bridge transfers less than expected', async () => { | ||||
|             const orders = _.times(1, () => createBridgeOrder({}, encodeBridgeBehavior(0.99))); | ||||
|             const signatures = orders.map(() => NULL_BYTES); | ||||
|             const qfr = getExpectedSellQuoteFillResults(orders); | ||||
|             const tx = host | ||||
|                 .executeTransform( | ||||
|                     transformer.address, | ||||
|                     takerToken.address, | ||||
|                     qfr.takerAssetSpent, | ||||
|                     encodeTransformData({ | ||||
|                         orders, | ||||
|                         signatures, | ||||
|                     }), | ||||
|                 ) | ||||
|                 .awaitTransactionSuccessAsync({ value: ZERO_AMOUNT }); | ||||
|             return expect(tx).to.revertWith( | ||||
|                 new ZeroExRevertErrors.TransformERC20.IncompleteFillSellQuoteError( | ||||
|                     takerToken.address, | ||||
|                     ZERO_AMOUNT, | ||||
|                     qfr.takerAssetSpent, | ||||
|                 ), | ||||
|             ); | ||||
|         }); | ||||
|     }); | ||||
| }); | ||||
|   | ||||
| @@ -6,12 +6,14 @@ | ||||
| export * from '../test/generated-wrappers/affiliate_fee_transformer'; | ||||
| export * from '../test/generated-wrappers/allowance_target'; | ||||
| export * from '../test/generated-wrappers/bootstrap'; | ||||
| export * from '../test/generated-wrappers/fill_orders_transformer'; | ||||
| export * from '../test/generated-wrappers/fill_quote_transformer'; | ||||
| export * from '../test/generated-wrappers/fixin_common'; | ||||
| export * from '../test/generated-wrappers/flash_wallet'; | ||||
| export * from '../test/generated-wrappers/full_migration'; | ||||
| export * from '../test/generated-wrappers/i_allowance_target'; | ||||
| export * from '../test/generated-wrappers/i_bootstrap'; | ||||
| export * from '../test/generated-wrappers/i_erc20_bridge'; | ||||
| export * from '../test/generated-wrappers/i_erc20_transformer'; | ||||
| export * from '../test/generated-wrappers/i_exchange'; | ||||
| export * from '../test/generated-wrappers/i_feature'; | ||||
| @@ -43,6 +45,7 @@ export * from '../test/generated-wrappers/pay_taker_transformer'; | ||||
| export * from '../test/generated-wrappers/simple_function_registry'; | ||||
| export * from '../test/generated-wrappers/test_call_target'; | ||||
| export * from '../test/generated-wrappers/test_delegate_caller'; | ||||
| export * from '../test/generated-wrappers/test_fill_quote_transformer_bridge'; | ||||
| export * from '../test/generated-wrappers/test_fill_quote_transformer_exchange'; | ||||
| export * from '../test/generated-wrappers/test_fill_quote_transformer_host'; | ||||
| export * from '../test/generated-wrappers/test_full_migration'; | ||||
|   | ||||
| @@ -19,12 +19,14 @@ | ||||
|         "test/generated-artifacts/AffiliateFeeTransformer.json", | ||||
|         "test/generated-artifacts/AllowanceTarget.json", | ||||
|         "test/generated-artifacts/Bootstrap.json", | ||||
|         "test/generated-artifacts/FillOrdersTransformer.json", | ||||
|         "test/generated-artifacts/FillQuoteTransformer.json", | ||||
|         "test/generated-artifacts/FixinCommon.json", | ||||
|         "test/generated-artifacts/FlashWallet.json", | ||||
|         "test/generated-artifacts/FullMigration.json", | ||||
|         "test/generated-artifacts/IAllowanceTarget.json", | ||||
|         "test/generated-artifacts/IBootstrap.json", | ||||
|         "test/generated-artifacts/IERC20Bridge.json", | ||||
|         "test/generated-artifacts/IERC20Transformer.json", | ||||
|         "test/generated-artifacts/IExchange.json", | ||||
|         "test/generated-artifacts/IFeature.json", | ||||
| @@ -56,6 +58,7 @@ | ||||
|         "test/generated-artifacts/SimpleFunctionRegistry.json", | ||||
|         "test/generated-artifacts/TestCallTarget.json", | ||||
|         "test/generated-artifacts/TestDelegateCaller.json", | ||||
|         "test/generated-artifacts/TestFillQuoteTransformerBridge.json", | ||||
|         "test/generated-artifacts/TestFillQuoteTransformerExchange.json", | ||||
|         "test/generated-artifacts/TestFillQuoteTransformerHost.json", | ||||
|         "test/generated-artifacts/TestFullMigration.json", | ||||
|   | ||||
| @@ -17,6 +17,7 @@ | ||||
|         "report_coverage": "lcov-result-merger './{packages/*/coverage/lcov.info,python-packages/*/.coverage}' | coveralls", | ||||
|         "test:installation": "node ./packages/monorepo-scripts/lib/test_installation.js", | ||||
|         "test:installation:local": "IS_LOCAL_PUBLISH=true node ./packages/monorepo-scripts/lib/test_installation.js", | ||||
|         "test:publish:canary": "yarn npm-cli-login -u test -p test -e test@example.com -r http://localhost:4873 && IS_CANARY_PUBLISH=true run-s script:publish", | ||||
|         "test:publish:circleci": "yarn npm-cli-login -u test -p test -e test@example.com -r http://localhost:4873 && IS_LOCAL_PUBLISH=true run-s script:publish test:installation:local", | ||||
|         "run:publish": "run-s install:all build:monorepo_scripts script:prepublish_checks rebuild script:publish", | ||||
|         "run:publish:local": "IS_LOCAL_PUBLISH=true yarn run:publish", | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "9.1.6", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|         "version": "9.1.5", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v9.1.6 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v9.1.5 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "0x.js", | ||||
|     "version": "9.1.5", | ||||
|     "version": "9.1.6", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -46,9 +46,9 @@ | ||||
|     }, | ||||
|     "license": "Apache-2.0", | ||||
|     "devDependencies": { | ||||
|         "@0x/contract-addresses": "^4.9.0", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/migrations": "^6.2.4", | ||||
|         "@0x/contract-addresses": "^4.10.0", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/migrations": "^6.3.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
| @@ -78,18 +78,18 @@ | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/abi-gen-wrappers": "^5.4.0-beta.3", | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/asset-swapper": "^4.4.0", | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contract-wrappers": "^13.6.3", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/subproviders": "^6.0.8", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/asset-swapper": "^4.5.0", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contract-wrappers": "^13.7.0", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/subproviders": "^6.1.0", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/web3-provider-engine": "^14.0.0", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "ethers": "~4.0.4", | ||||
|         "lodash": "^4.17.11", | ||||
|         "web3-provider-engine": "14.0.6" | ||||
|   | ||||
| @@ -6,7 +6,8 @@ | ||||
|                 "note": "Allow identifiers with leading underscores in python wrappers", | ||||
|                 "pr": 2591 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "version": "5.2.2", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v5.3.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Allow identifiers with leading underscores in python wrappers (#2591) | ||||
|  | ||||
| ## v5.2.2 - _February 26, 2020_ | ||||
|  | ||||
|     * Include `bin` files | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/abi-gen", | ||||
|     "version": "5.2.2", | ||||
|     "version": "5.3.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -62,14 +62,14 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/packages/abi-gen/README.md", | ||||
|     "dependencies": { | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@types/toposort": "^2.0.1", | ||||
|         "chalk": "^2.3.0", | ||||
|         "change-case": "^3.0.2", | ||||
|         "cli-format": "^3.0.9", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "glob": "^7.1.2", | ||||
|         "handlebars": "^4.1.2", | ||||
|         "lodash": "^4.17.11", | ||||
| @@ -80,15 +80,15 @@ | ||||
|         "yargs": "^10.0.3" | ||||
|     }, | ||||
|     "devDependencies": { | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contracts-gen": "^2.0.8", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/json-schemas": "^5.0.7", | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/subproviders": "^6.0.8", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contracts-gen": "^2.0.9", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/json-schemas": "^5.0.8", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/subproviders": "^6.1.0", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/glob": "5.0.35", | ||||
|         "@types/mkdirp": "^0.5.2", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "3.0.8", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1582623685, | ||||
|         "version": "3.0.7", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.0.8 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v3.0.7 - _February 25, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/assert", | ||||
|     "version": "3.0.7", | ||||
|     "version": "3.0.8", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -45,9 +45,9 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/json-schemas": "^5.0.7", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/json-schemas": "^5.0.8", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "lodash": "^4.17.11", | ||||
|         "valid-url": "^1.0.9" | ||||
|     }, | ||||
|   | ||||
| @@ -94,7 +94,8 @@ | ||||
|                 "note": "Add exchange proxy support", | ||||
|                 "pr": 2591 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "version": "4.4.0", | ||||
|   | ||||
| @@ -5,6 +5,32 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v4.5.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Add support for private liquidity providers (#2505) | ||||
|     * Big refactor of market operation utils (#2513) | ||||
|     * Remove `dustFractionThreshold`, `noConflicts` options. (#2513) | ||||
|     * Revamp fill optimization algorithm (#2513) | ||||
|     * Add fallback orders to quotes via `allowFallback` option. (#2513) | ||||
|     * Add `maxFallbackSlippage` option. (#2513) | ||||
|     * Fix fee schedule not being scaled by gas price. (#2522) | ||||
|     * Fix quote optimizer bug not properly accounting for fees. (#2526) | ||||
|     * Fix `getBatchMarketBuyOrdersAsync` throwing NO_OPTIMAL_PATH (#2533) | ||||
|     * Add DFB support + refactor swap quote calculator utils (#2536) | ||||
|     * Add support for RFQ-T, querying maker-hosted endpoints for quotes to be submitted by the taker (#2541) | ||||
|     * Add support for indicative (non-committal) quotes via RFQ-T (#2555) | ||||
|     * Collapse `LiquidityProvider` into `DexForwarderBridge` (#2560) | ||||
|     * Added Curve `sUSD` (#2563) | ||||
|     * Fix sporadically failing quote simulation tests (#2564) | ||||
|     * Apply Native order penalty inline with the target amount (#2565) | ||||
|     * Remove Kyber exclusion when Uniswap/Eth2Dai is present (#2575) | ||||
|     * Expose fills object in asset-swapper quote orders (#2583) | ||||
|     * Increase timeout for tests (#2587) | ||||
|     * Add support for Uniswap V2 (#2599) | ||||
|     * Add support for MultiBridge (#2593) | ||||
|     * Fix Uniswap V2 path ordering (#2601) | ||||
|     * Add exchange proxy support (#2591) | ||||
|  | ||||
| ## v4.4.0 - _March 3, 2020_ | ||||
|  | ||||
|     * Add support for ERC721 assets (#2491) | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/asset-swapper", | ||||
|     "version": "4.4.0", | ||||
|     "version": "4.5.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -46,15 +46,15 @@ | ||||
|         "registry": "git@github.com:0xProject/gitpkg-registry.git" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/contract-addresses": "^4.9.0", | ||||
|         "@0x/contract-wrappers": "^13.6.3", | ||||
|         "@0x/contracts-zero-ex": "^0.1.0", | ||||
|         "@0x/json-schemas": "^5.0.7", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/orderbook": "^2.2.5", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/contract-addresses": "^4.10.0", | ||||
|         "@0x/contract-wrappers": "^13.7.0", | ||||
|         "@0x/contracts-zero-ex": "^0.1.1", | ||||
|         "@0x/json-schemas": "^5.0.8", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/orderbook": "^2.2.6", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "axios": "^0.19.2", | ||||
|         "axios-mock-adapter": "^1.18.1", | ||||
|         "ethereumjs-util": "^5.1.1", | ||||
| @@ -62,16 +62,16 @@ | ||||
|         "lodash": "^4.17.11" | ||||
|     }, | ||||
|     "devDependencies": { | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/mesh-rpc-client": "^7.0.4-beta-0xv3", | ||||
|         "@0x/migrations": "^6.2.4", | ||||
|         "@0x/subproviders": "^6.0.8", | ||||
|         "@0x/migrations": "^6.3.0", | ||||
|         "@0x/subproviders": "^6.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "@types/node": "*", | ||||
| @@ -79,7 +79,7 @@ | ||||
|         "chai-as-promised": "^7.1.0", | ||||
|         "chai-bignumber": "^3.0.0", | ||||
|         "dirty-chai": "^2.0.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "gitpkg": "https://github.com/0xProject/gitpkg.git", | ||||
|         "make-promises-safe": "^1.1.0", | ||||
|         "mocha": "^6.2.0", | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "6.2.2", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1582623685, | ||||
|         "version": "6.2.1", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v6.2.2 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v6.2.1 - _February 25, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/base-contract", | ||||
|     "version": "6.2.1", | ||||
|     "version": "6.2.2", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -31,12 +31,12 @@ | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/packages/base-contract/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@types/lodash": "4.14.104", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "chai": "^4.0.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "make-promises-safe": "^1.1.0", | ||||
|         "mocha": "^6.2.0", | ||||
|         "npm-run-all": "^4.1.2", | ||||
| @@ -45,10 +45,10 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/json-schemas": "^5.0.7", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/json-schemas": "^5.0.8", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "ethereumjs-account": "^3.0.0", | ||||
|         "ethereumjs-blockstream": "^7.0.0", | ||||
|         "ethereumjs-util": "^5.1.1", | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "6.0.8", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1582623685, | ||||
|         "version": "6.0.7", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v6.0.8 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v6.0.7 - _February 25, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/connect", | ||||
|     "version": "6.0.7", | ||||
|     "version": "6.0.8", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -48,11 +48,11 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/packages/connect/README.md", | ||||
|     "dependencies": { | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/json-schemas": "^5.0.7", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/json-schemas": "^5.0.8", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "lodash": "^4.17.11", | ||||
|         "query-string": "^6.0.0", | ||||
|         "sinon": "^4.0.0", | ||||
|   | ||||
| @@ -70,7 +70,8 @@ | ||||
|                 "note": "Add Exchange Proxy addresses", | ||||
|                 "pr": 2591 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "version": "4.9.0", | ||||
|   | ||||
| @@ -5,6 +5,26 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v4.10.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Updated Kovan's ERC20BridgeSampler address (#2519) | ||||
|     * Added MaximumGasPrice addresses (#2511) | ||||
|     * Redeploy `KyberBridge`, `UniswapBridge`, `Eth2DaiBridge`, `CurveBridge`, `DydxBridge` on mainnet and kovan (#2512) | ||||
|     * Redeploy `KyberBridge`, `UniswapBridge`, `Eth2DaiBridge`, `CurveBridge`, `DydxBridge` on mainnet and kovan (#2529) | ||||
|     * Redeploy `CurveBridge` with GST support (#2530) | ||||
|     * Add `dexForwarderBridge` addresses (#2525) | ||||
|     * Redeploy `Forwarder` on all networks (#2521) | ||||
|     * Redeploy `DexForwarderBridge` on Mainnet with Gas Token freeing (#2536) | ||||
|     * Revert to older Curve Bridge (without Gas Tokens) (#2536) | ||||
|     * Updated Ganache's ERC20BridgeSampler address (#2541) | ||||
|     * Updated Mainnet ERC20BridgeSampler address (#2551) | ||||
|     * Updated Kovan ERC20BridgeSampler address (#2568) | ||||
|     * Redeploy ERC20BridgeSampler on kovan (#2570) | ||||
|     * Redeploy ERC20BridgeSampler on Mainnet using `Kyber.searchBestRate` (#2575) | ||||
|     * Redeploy ERC20BridgeSampler on Mainnet and Kovan using UniswapV2 (#2599) | ||||
|     * Add UniswapV2Bridge address on Mainnet (new field) (#2599) | ||||
|     * Add Exchange Proxy addresses (#2591) | ||||
|  | ||||
| ## v4.9.0 - _March 3, 2020_ | ||||
|  | ||||
|     * Redeploy `ERC20BridgeSampler` (#2503) | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contract-addresses", | ||||
|     "version": "4.9.0", | ||||
|     "version": "4.10.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -28,9 +28,9 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-addresses/README.md", | ||||
|     "devDependencies": { | ||||
|         "gitpkg": "https://github.com/0xProject/gitpkg.git", | ||||
|         "shx": "^0.2.2", | ||||
|         "typescript": "3.0.1", | ||||
|         "gitpkg": "https://github.com/0xProject/gitpkg.git" | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|         "access": "public" | ||||
|   | ||||
| @@ -34,7 +34,8 @@ | ||||
|                 "note": "Added `ITransformERC20`", | ||||
|                 "pr": 2591 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1582623685, | ||||
|   | ||||
| @@ -5,6 +5,17 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.7.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Added `MaximumGasPrice` artifact (#2511) | ||||
|     * Added `Forwarder.marketSellAmountWithEth` (#2521) | ||||
|     * Added `ERC20BridgeSampler.sampleBuysFromCurve` (#2551) | ||||
|     * Added `ERC20BridgeSampler.sampleBuysFromKyberNetwork` (#2551) | ||||
|     * Added `ERC20BridgeSampler.sampleBuysFromUniswapV2 (#2595) | ||||
|     * Added `ERC20BridgeSampler.sampleSellsFromUniswapV2 (#2595) | ||||
|     * Added `ERC20BridgeSampler.sampleSellsFromMultiBridge (#2593) | ||||
|     * Added `ITransformERC20` (#2591) | ||||
|  | ||||
| ## v3.6.1 - _February 25, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contract-artifacts", | ||||
|     "version": "3.6.1", | ||||
|     "version": "3.7.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -30,7 +30,7 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-artifacts/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@types/mocha": "^5.2.7", | ||||
|         "chai": "^4.0.1", | ||||
|         "lodash": "^4.17.11", | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contract-wrappers-test", | ||||
|     "version": "12.2.13", | ||||
|     "version": "12.2.15", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -31,17 +31,17 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/packages/contract-wrappers-test/README.md", | ||||
|     "devDependencies": { | ||||
|         "@0x/contract-wrappers": "^13.6.3", | ||||
|         "@0x/contracts-test-utils": "^5.3.2", | ||||
|         "@0x/dev-utils": "^3.2.1", | ||||
|         "@0x/migrations": "^6.2.4", | ||||
|         "@0x/order-utils": "^10.2.4", | ||||
|         "@0x/subproviders": "^6.0.8", | ||||
|         "@0x/contract-wrappers": "^13.7.0", | ||||
|         "@0x/contracts-test-utils": "^5.3.3", | ||||
|         "@0x/dev-utils": "^3.2.2", | ||||
|         "@0x/migrations": "^6.3.0", | ||||
|         "@0x/order-utils": "^10.2.5", | ||||
|         "@0x/subproviders": "^6.1.0", | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/nock": "^10.0.3", | ||||
|         "chai": "^4.0.1", | ||||
|         "dirty-chai": "^2.0.1", | ||||
|   | ||||
| @@ -38,7 +38,8 @@ | ||||
|                 "note": "Add `ITransformERC20`", | ||||
|                 "pr": 2591 | ||||
|             } | ||||
|         ] | ||||
|         ], | ||||
|         "timestamp": 1592969527 | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1583220306, | ||||
|   | ||||
| @@ -5,6 +5,18 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v13.7.0 - _June 24, 2020_ | ||||
|  | ||||
|     * Regenerated wrappers for Broker and GodsUnchainedValidator (#2511) | ||||
|     * Added wrapper for MaximumGasPrice (#2511) | ||||
|     * Added `Forwarder.marketSellAmountWithEth` (#2521) | ||||
|     * Added `ERC20BridgeSampler.sampleBuysFromCurve` (#2551) | ||||
|     * Added `ERC20BridgeSampler.sampleBuysFromKyberNetwork` (#2551) | ||||
|     * Added `ERC20BridgeSampler.sampleBuysFromUniswapV2 (#2595) | ||||
|     * Added `ERC20BridgeSampler.sampleSellsFromUniswapV2 (#2595) | ||||
|     * Added `ERC20BridgeSampler.sampleSellsFromMultiBridge (#2593) | ||||
|     * Add `ITransformERC20` (#2591) | ||||
|  | ||||
| ## v13.6.3 - _March 3, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contract-wrappers", | ||||
|     "version": "13.6.3", | ||||
|     "version": "13.7.0", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -49,20 +49,20 @@ | ||||
|     "devDependencies": { | ||||
|         "@0x/ts-doc-gen": "^0.0.22", | ||||
|         "@0x/tslint-config": "^4.0.0", | ||||
|         "gitpkg": "https://github.com/0xProject/gitpkg.git", | ||||
|         "tslint": "5.11.0", | ||||
|         "typedoc": "^0.15.0", | ||||
|         "typescript": "3.0.1", | ||||
|         "gitpkg": "https://github.com/0xProject/gitpkg.git" | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/assert": "^3.0.7", | ||||
|         "@0x/base-contract": "^6.2.1", | ||||
|         "@0x/contract-addresses": "^4.9.0", | ||||
|         "@0x/json-schemas": "^5.0.7", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "@0x/assert": "^3.0.8", | ||||
|         "@0x/base-contract": "^6.2.2", | ||||
|         "@0x/contract-addresses": "^4.10.0", | ||||
|         "@0x/json-schemas": "^5.0.8", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "ethers": "~4.0.4" | ||||
|     }, | ||||
|     "publishConfig": { | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "2.0.9", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1582623685, | ||||
|         "version": "2.0.8", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v2.0.9 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v2.0.8 - _February 25, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/contracts-gen", | ||||
|     "version": "2.0.8", | ||||
|     "version": "2.0.9", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -27,12 +27,12 @@ | ||||
|     }, | ||||
|     "homepage": "https://github.com/0xProject/0x-monorepo/packages/contracts-gen/README.md", | ||||
|     "dependencies": { | ||||
|         "@0x/sol-compiler": "^4.0.8", | ||||
|         "@0x/sol-resolver": "^3.0.3", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "@0x/sol-compiler": "^4.1.0", | ||||
|         "@0x/sol-resolver": "^3.0.4", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "lodash": "^4.17.11", | ||||
|         "mkdirp": "^0.5.1", | ||||
|         "prettier": "^1.16.3", | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "3.2.2", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "timestamp": 1582623685, | ||||
|         "version": "3.2.1", | ||||
|   | ||||
| @@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.2.2 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v3.2.1 - _February 25, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| { | ||||
|     "name": "@0x/dev-utils", | ||||
|     "version": "3.2.1", | ||||
|     "version": "3.2.2", | ||||
|     "engines": { | ||||
|         "node": ">=6.12" | ||||
|     }, | ||||
| @@ -46,17 +46,17 @@ | ||||
|         "typescript": "3.0.1" | ||||
|     }, | ||||
|     "dependencies": { | ||||
|         "@0x/subproviders": "^6.0.8", | ||||
|         "@0x/types": "^3.1.2", | ||||
|         "@0x/typescript-typings": "^5.0.2", | ||||
|         "@0x/utils": "^5.4.1", | ||||
|         "@0x/web3-wrapper": "^7.0.7", | ||||
|         "@0x/subproviders": "^6.1.0", | ||||
|         "@0x/types": "^3.1.3", | ||||
|         "@0x/typescript-typings": "^5.1.0", | ||||
|         "@0x/utils": "^5.5.0", | ||||
|         "@0x/web3-wrapper": "^7.1.0", | ||||
|         "@types/web3-provider-engine": "^14.0.0", | ||||
|         "chai": "^4.0.1", | ||||
|         "chai-as-promised": "^7.1.0", | ||||
|         "chai-bignumber": "^3.0.0", | ||||
|         "dirty-chai": "^2.0.1", | ||||
|         "ethereum-types": "^3.1.0", | ||||
|         "ethereum-types": "^3.1.1", | ||||
|         "lodash": "^4.17.11", | ||||
|         "web3-provider-engine": "14.0.6" | ||||
|     }, | ||||
|   | ||||
| @@ -1,4 +1,13 @@ | ||||
| [ | ||||
|     { | ||||
|         "timestamp": 1592969527, | ||||
|         "version": "3.1.1", | ||||
|         "changes": [ | ||||
|             { | ||||
|                 "note": "Dependencies updated" | ||||
|             } | ||||
|         ] | ||||
|     }, | ||||
|     { | ||||
|         "version": "3.1.0", | ||||
|         "changes": [ | ||||
|   | ||||
| @@ -5,9 +5,14 @@ Edit the package's CHANGELOG.json file only. | ||||
|  | ||||
| CHANGELOG | ||||
|  | ||||
| ## v3.1.1 - _June 24, 2020_ | ||||
|  | ||||
|     * Dependencies updated | ||||
|  | ||||
| ## v3.1.0 - _February 8, 2020_ | ||||
|  | ||||
|     * Add `linkReferences` to `EvmBytecodeOutput` and `EvmBytecodeOutputLinkReferences` type (#2462) | ||||
|     * Update `MethodAbi` definition for solidity 0.6 (#2540) | ||||
|  | ||||
| ## v3.0.0 - _December 2, 2019_ | ||||
|  | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user