Compare commits
	
		
			6 Commits
		
	
	
		
			feat/Redac
			...
			monorepo@7
		
	
	| 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