Compare commits
	
		
			5 Commits
		
	
	
		
			@0x/contra
			...
			protocol@2
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					2a6d66cc2a | ||
| 
						 | 
					b02992a373 | ||
| 
						 | 
					92ad924965 | ||
| 
						 | 
					138383e95c | ||
| 
						 | 
					0487cb7d39 | 
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "3.7.8-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "3.7.7",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.7.8-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.7.7 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-asset-proxy",
 | 
			
		||||
    "version": "3.7.7",
 | 
			
		||||
    "version": "3.7.8-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -52,10 +52,10 @@
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/protocol",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.13.0",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.14.0-multiplex",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
@@ -80,11 +80,11 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.25",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.25",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.25",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.26-multiplex.0",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/types": "^3.3.1",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
        "@0x/utils": "^6.2.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "1.1.26-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "1.1.25",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v1.1.26-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v1.1.25 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-broker",
 | 
			
		||||
    "version": "1.1.25",
 | 
			
		||||
    "version": "1.1.26-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -52,14 +52,14 @@
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/extensions",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.25",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.26",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.25",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
@@ -85,7 +85,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
        "@0x/utils": "^6.2.0",
 | 
			
		||||
        "ethereum-types": "^3.4.0"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "3.1.27-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "3.1.26",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.1.27-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.1.26 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-coordinator",
 | 
			
		||||
    "version": "3.1.26",
 | 
			
		||||
    "version": "3.1.27-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -53,12 +53,12 @@
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/extensions",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.24",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.25-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
@@ -85,9 +85,9 @@
 | 
			
		||||
        "@0x/assert": "^3.0.21",
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.26",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/json-schemas": "^5.4.1",
 | 
			
		||||
        "@0x/types": "^3.3.1",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "1.3.25-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "1.3.24",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v1.3.25-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v1.3.24 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-dev-utils",
 | 
			
		||||
    "version": "1.3.24",
 | 
			
		||||
    "version": "1.3.25-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -43,10 +43,10 @@
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/assert": "^3.0.21",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "2.1.26-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "2.1.25",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v2.1.26-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v2.1.25 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-erc1155",
 | 
			
		||||
    "version": "2.1.25",
 | 
			
		||||
    "version": "2.1.26-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -54,7 +54,7 @@
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
@@ -81,7 +81,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/utils": "^6.2.0",
 | 
			
		||||
        "@0x/web3-wrapper": "^7.4.1",
 | 
			
		||||
        "lodash": "^4.17.11"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "3.3.5-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "3.3.4",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.3.5-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.3.4 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-erc20",
 | 
			
		||||
    "version": "3.3.4",
 | 
			
		||||
    "version": "3.3.5-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -53,8 +53,8 @@
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "3.1.26-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "3.1.25",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.1.26-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.1.25 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-erc721",
 | 
			
		||||
    "version": "3.1.25",
 | 
			
		||||
    "version": "3.1.26-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -54,8 +54,8 @@
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "4.2.27-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "4.2.26",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v4.2.27-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v4.2.26 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-exchange-forwarder",
 | 
			
		||||
    "version": "4.2.26",
 | 
			
		||||
    "version": "4.2.27-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -53,18 +53,18 @@
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/extensions",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.24",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.25",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.25",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.26",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.25",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.25-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "4.3.26-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "4.3.25",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v4.3.26-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v4.3.25 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-exchange-libs",
 | 
			
		||||
    "version": "4.3.25",
 | 
			
		||||
    "version": "4.3.26-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -81,9 +81,9 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/types": "^3.3.1",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
        "@0x/utils": "^6.2.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "3.2.27-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "3.2.26",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.2.27-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.2.26 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-exchange",
 | 
			
		||||
    "version": "3.2.26",
 | 
			
		||||
    "version": "3.2.27-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -53,13 +53,13 @@
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/protocol",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.25",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-multisig": "^4.1.26",
 | 
			
		||||
        "@0x/contracts-staking": "^2.0.33",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-multisig": "^4.1.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-staking": "^2.0.34-multiplex.0",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
@@ -89,11 +89,11 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.24",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.25",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.25",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.25-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.26-multiplex.0",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/utils": "^6.2.0",
 | 
			
		||||
        "lodash": "^4.17.11"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "6.2.21-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "6.2.20",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v6.2.21-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v6.2.20 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-extensions",
 | 
			
		||||
    "version": "6.2.20",
 | 
			
		||||
    "version": "6.2.21-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -53,16 +53,16 @@
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/extensions",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.24",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.25",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.26",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.25",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.25-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
@@ -91,7 +91,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
        "ethereum-types": "^3.4.0"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-integrations",
 | 
			
		||||
    "version": "2.7.28",
 | 
			
		||||
    "version": "2.7.29-multiplex.0",
 | 
			
		||||
    "private": true,
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
@@ -54,20 +54,20 @@
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.13.0",
 | 
			
		||||
        "@0x/contracts-broker": "^1.1.25",
 | 
			
		||||
        "@0x/contracts-coordinator": "^3.1.26",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.24",
 | 
			
		||||
        "@0x/contracts-exchange-forwarder": "^4.2.26",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.25",
 | 
			
		||||
        "@0x/contracts-extensions": "^6.2.20",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.14.0-multiplex",
 | 
			
		||||
        "@0x/contracts-broker": "^1.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-coordinator": "^3.1.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.25-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-forwarder": "^4.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-extensions": "^6.2.21-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/coordinator-server": "^1.0.5",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/migrations": "^7.0.0",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/protocol-utils": "^1.3.0",
 | 
			
		||||
        "@0x/migrations": "^7.0.1-multiplex.0",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/protocol-utils": "^1.3.1-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
        "@0x/web3-wrapper": "^7.4.1",
 | 
			
		||||
@@ -93,17 +93,17 @@
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/asset-swapper": "^6.2.0",
 | 
			
		||||
        "@0x/asset-swapper": "^6.3.0-multiplex",
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.25",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.25",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.26",
 | 
			
		||||
        "@0x/contracts-multisig": "^4.1.26",
 | 
			
		||||
        "@0x/contracts-staking": "^2.0.33",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-zero-ex": "^0.19.0",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-multisig": "^4.1.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-staking": "^2.0.34-multiplex.0",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-zero-ex": "^0.20.0-multiplex",
 | 
			
		||||
        "@0x/subproviders": "^6.4.1",
 | 
			
		||||
        "@0x/types": "^3.3.1",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "4.1.27-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "4.1.26",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v4.1.27-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v4.1.26 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-multisig",
 | 
			
		||||
    "version": "4.1.26",
 | 
			
		||||
    "version": "4.1.27-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -50,11 +50,11 @@
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/multisig",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "2.0.34-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "2.0.33",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v2.0.34-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v2.0.33 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-staking",
 | 
			
		||||
    "version": "2.0.33",
 | 
			
		||||
    "version": "2.0.34-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -54,14 +54,14 @@
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/contracts/tokens",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.24",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.25",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.25-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
@@ -88,7 +88,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
        "@0x/utils": "^6.2.0",
 | 
			
		||||
        "ethereum-types": "^3.4.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "5.3.23-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "5.3.22",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v5.3.23-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v5.3.22 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-test-utils",
 | 
			
		||||
    "version": "5.3.22",
 | 
			
		||||
    "version": "5.3.23-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -47,7 +47,7 @@
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/json-schemas": "^5.4.1",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/sol-coverage": "^4.0.31",
 | 
			
		||||
        "@0x/sol-profiler": "^4.1.21",
 | 
			
		||||
        "@0x/sol-trace": "^3.0.31",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "1.1.0",
 | 
			
		||||
        "version": "1.1.0-multiplex",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Make the proposal/quorum thresholds updatable",
 | 
			
		||||
                "pr": 165
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1615932869
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v1.1.0-multiplex - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Make the proposal/quorum thresholds updatable (#165)
 | 
			
		||||
 | 
			
		||||
## v1.0.2 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-treasury",
 | 
			
		||||
    "version": "1.0.2",
 | 
			
		||||
    "version": "1.1.0-multiplex",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -48,11 +48,11 @@
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-staking": "^2.0.33",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-staking": "^2.0.34-multiplex.0",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
@@ -73,7 +73,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/protocol-utils": "^1.3.0",
 | 
			
		||||
        "@0x/protocol-utils": "^1.3.1-multiplex.0",
 | 
			
		||||
        "@0x/subproviders": "^6.4.1",
 | 
			
		||||
        "@0x/types": "^3.3.1",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "4.7.5-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "4.7.4",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v4.7.5-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v4.7.4 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-utils",
 | 
			
		||||
    "version": "4.7.4",
 | 
			
		||||
    "version": "4.7.5-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -52,9 +52,9 @@
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
        "@0x/types": "^3.3.1",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "0.20.0",
 | 
			
		||||
        "version": "0.20.0-multiplex",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Add `MooniswapLiquidityProvider`",
 | 
			
		||||
@@ -13,8 +13,13 @@
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Add BatchFillNativeOrdersFeature and MultiplexFeature",
 | 
			
		||||
                "pr": 140
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Export MultiplexFeatureContract",
 | 
			
		||||
                "pr": 168
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1615932869
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "0.19.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,13 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v0.20.0-multiplex - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Add `MooniswapLiquidityProvider` (#143)
 | 
			
		||||
    * Emit `LiquidityProviderFill` event in `CurveLiquidityProvider` (#143)
 | 
			
		||||
    * Add BatchFillNativeOrdersFeature and MultiplexFeature (#140)
 | 
			
		||||
    * Export MultiplexFeatureContract (#168)
 | 
			
		||||
 | 
			
		||||
## v0.19.0 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Add `CurveLiquidityProvider` and misc refactors (#127)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-zero-ex",
 | 
			
		||||
    "version": "0.19.0",
 | 
			
		||||
    "version": "0.20.0-multiplex",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -57,11 +57,11 @@
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^5.4.21",
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
@@ -83,7 +83,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/protocol-utils": "^1.3.0",
 | 
			
		||||
        "@0x/protocol-utils": "^1.3.1-multiplex.0",
 | 
			
		||||
        "@0x/subproviders": "^6.4.1",
 | 
			
		||||
        "@0x/types": "^3.3.1",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
 
 | 
			
		||||
@@ -45,6 +45,7 @@ export {
 | 
			
		||||
    ITransformERC20FeatureContract,
 | 
			
		||||
    IZeroExContract,
 | 
			
		||||
    LogMetadataTransformerContract,
 | 
			
		||||
    MultiplexFeatureContract,
 | 
			
		||||
    PayTakerTransformerContract,
 | 
			
		||||
    PositiveSlippageFeeTransformerContract,
 | 
			
		||||
    WethTransformerContract,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "6.3.0",
 | 
			
		||||
        "version": "6.3.0-multiplex",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Add MooniswapLiquidityProvider \"direct\" route to EP consumer.",
 | 
			
		||||
@@ -9,8 +9,13 @@
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Enable the ability to send RFQT requests thru a proxy",
 | 
			
		||||
                "pr": 159
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Add support for MultiplexFeature",
 | 
			
		||||
                "pr": 168
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1615932869
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "6.2.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,12 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v6.3.0-multiplex - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Add MooniswapLiquidityProvider "direct" route to EP consumer. (#143)
 | 
			
		||||
    * Enable the ability to send RFQT requests thru a proxy (#159)
 | 
			
		||||
    * Add support for MultiplexFeature (#168)
 | 
			
		||||
 | 
			
		||||
## v6.2.0 - _March 2, 2021_
 | 
			
		||||
 | 
			
		||||
    * drop curve Y and BUSD pools (#161)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/asset-swapper",
 | 
			
		||||
    "version": "6.2.0",
 | 
			
		||||
    "version": "6.3.0-multiplex",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -60,10 +60,12 @@
 | 
			
		||||
        "@0x/assert": "^3.0.21",
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.13.0",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.14.0-multiplex",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-zero-ex": "^0.20.0-multiplex",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/json-schemas": "^5.4.1",
 | 
			
		||||
        "@0x/protocol-utils": "^1.3.0",
 | 
			
		||||
        "@0x/protocol-utils": "^1.3.1-multiplex.0",
 | 
			
		||||
        "@0x/quote-server": "^4.0.1",
 | 
			
		||||
        "@0x/types": "^3.3.1",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
@@ -86,16 +88,15 @@
 | 
			
		||||
    },
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.26",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.25",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^4.3.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-gen": "^2.0.32",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-zero-ex": "^0.19.0",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/mesh-rpc-client": "^9.4.2",
 | 
			
		||||
        "@0x/migrations": "^7.0.0",
 | 
			
		||||
        "@0x/migrations": "^7.0.1-multiplex.0",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/subproviders": "^6.4.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
import { ContractAddresses } from '@0x/contract-addresses';
 | 
			
		||||
import { IZeroExContract } from '@0x/contract-wrappers';
 | 
			
		||||
import { WETH9Contract } from '@0x/contracts-erc20';
 | 
			
		||||
import { IZeroExContract, MultiplexFeatureContract } from '@0x/contracts-zero-ex';
 | 
			
		||||
import {
 | 
			
		||||
    encodeAffiliateFeeTransformerData,
 | 
			
		||||
    encodeCurveLiquidityProviderData,
 | 
			
		||||
@@ -8,7 +9,6 @@ import {
 | 
			
		||||
    encodePositiveSlippageFeeTransformerData,
 | 
			
		||||
    encodeWethTransformerData,
 | 
			
		||||
    ETH_TOKEN_ADDRESS,
 | 
			
		||||
    FillQuoteTransformerData,
 | 
			
		||||
    FillQuoteTransformerOrderType,
 | 
			
		||||
    FillQuoteTransformerSide,
 | 
			
		||||
    findTransformerNonce,
 | 
			
		||||
@@ -23,7 +23,6 @@ import {
 | 
			
		||||
    CalldataInfo,
 | 
			
		||||
    ExchangeProxyContractOpts,
 | 
			
		||||
    MarketBuySwapQuote,
 | 
			
		||||
    MarketOperation,
 | 
			
		||||
    MarketSellSwapQuote,
 | 
			
		||||
    SwapQuote,
 | 
			
		||||
    SwapQuoteConsumerBase,
 | 
			
		||||
@@ -36,24 +35,30 @@ import {
 | 
			
		||||
    CURVE_LIQUIDITY_PROVIDER_BY_CHAIN_ID,
 | 
			
		||||
    MOONISWAP_LIQUIDITY_PROVIDER_BY_CHAIN_ID,
 | 
			
		||||
} from '../utils/market_operation_utils/constants';
 | 
			
		||||
import {
 | 
			
		||||
    createBridgeDataForBridgeOrder,
 | 
			
		||||
    getERC20BridgeSourceToBridgeSource,
 | 
			
		||||
    poolEncoder,
 | 
			
		||||
} from '../utils/market_operation_utils/orders';
 | 
			
		||||
import { poolEncoder } from '../utils/market_operation_utils/orders';
 | 
			
		||||
import {
 | 
			
		||||
    CurveFillData,
 | 
			
		||||
    ERC20BridgeSource,
 | 
			
		||||
    LiquidityProviderFillData,
 | 
			
		||||
    MooniswapFillData,
 | 
			
		||||
    NativeLimitOrderFillData,
 | 
			
		||||
    NativeRfqOrderFillData,
 | 
			
		||||
    OptimizedMarketBridgeOrder,
 | 
			
		||||
    OptimizedMarketOrder,
 | 
			
		||||
    OptimizedMarketOrderBase,
 | 
			
		||||
    UniswapV2FillData,
 | 
			
		||||
} from '../utils/market_operation_utils/types';
 | 
			
		||||
 | 
			
		||||
import {
 | 
			
		||||
    multiplexPlpEncoder,
 | 
			
		||||
    multiplexRfqEncoder,
 | 
			
		||||
    multiplexTransformERC20Encoder,
 | 
			
		||||
    multiplexUniswapEncoder,
 | 
			
		||||
} from './multiplex_encoders';
 | 
			
		||||
import {
 | 
			
		||||
    getFQTTransformerDataFromOptimizedOrders,
 | 
			
		||||
    isBuyQuote,
 | 
			
		||||
    isDirectSwapCompatible,
 | 
			
		||||
    isMultiplexBatchFillCompatible,
 | 
			
		||||
    isMultiplexMultiHopFillCompatible,
 | 
			
		||||
} from './quote_consumer_utils';
 | 
			
		||||
 | 
			
		||||
// tslint:disable-next-line:custom-no-magic-numbers
 | 
			
		||||
const MAX_UINT256 = new BigNumber(2).pow(256).minus(1);
 | 
			
		||||
const { NULL_ADDRESS, NULL_BYTES, ZERO_AMOUNT } = constants;
 | 
			
		||||
@@ -70,6 +75,7 @@ export class ExchangeProxySwapQuoteConsumer implements SwapQuoteConsumerBase {
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    private readonly _exchangeProxy: IZeroExContract;
 | 
			
		||||
    private readonly _multiplex: MultiplexFeatureContract;
 | 
			
		||||
 | 
			
		||||
    constructor(
 | 
			
		||||
        supportedProvider: SupportedProvider,
 | 
			
		||||
@@ -83,6 +89,7 @@ export class ExchangeProxySwapQuoteConsumer implements SwapQuoteConsumerBase {
 | 
			
		||||
        this.chainId = chainId;
 | 
			
		||||
        this.contractAddresses = contractAddresses;
 | 
			
		||||
        this._exchangeProxy = new IZeroExContract(contractAddresses.exchangeProxy, supportedProvider);
 | 
			
		||||
        this._multiplex = new MultiplexFeatureContract(contractAddresses.exchangeProxy, supportedProvider);
 | 
			
		||||
        this.transformerNonces = {
 | 
			
		||||
            wethTransformer: findTransformerNonce(
 | 
			
		||||
                contractAddresses.transformers.wethTransformer,
 | 
			
		||||
@@ -229,6 +236,25 @@ export class ExchangeProxySwapQuoteConsumer implements SwapQuoteConsumerBase {
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (isMultiplexBatchFillCompatible(quote, optsWithDefaults)) {
 | 
			
		||||
            return {
 | 
			
		||||
                calldataHexString: this._encodeMultiplexBatchFillCalldata(quote),
 | 
			
		||||
                ethAmount,
 | 
			
		||||
                toAddress: this._exchangeProxy.address,
 | 
			
		||||
                allowanceTarget: this._exchangeProxy.address,
 | 
			
		||||
                gasOverhead: ZERO_AMOUNT,
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
        if (isMultiplexMultiHopFillCompatible(quote, optsWithDefaults)) {
 | 
			
		||||
            return {
 | 
			
		||||
                calldataHexString: this._encodeMultiplexMultiHopFillCalldata(quote, optsWithDefaults),
 | 
			
		||||
                ethAmount,
 | 
			
		||||
                toAddress: this._exchangeProxy.address,
 | 
			
		||||
                allowanceTarget: this._exchangeProxy.address,
 | 
			
		||||
                gasOverhead: ZERO_AMOUNT,
 | 
			
		||||
            };
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        // Build up the transforms.
 | 
			
		||||
        const transforms = [];
 | 
			
		||||
        if (isFromETH) {
 | 
			
		||||
@@ -380,91 +406,145 @@ export class ExchangeProxySwapQuoteConsumer implements SwapQuoteConsumerBase {
 | 
			
		||||
    ): Promise<string> {
 | 
			
		||||
        throw new Error('Execution not supported for Exchange Proxy quotes');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isDirectSwapCompatible(
 | 
			
		||||
    quote: SwapQuote,
 | 
			
		||||
    opts: ExchangeProxyContractOpts,
 | 
			
		||||
    directSources: ERC20BridgeSource[],
 | 
			
		||||
): boolean {
 | 
			
		||||
    // Must not be a mtx.
 | 
			
		||||
    if (opts.isMetaTransaction) {
 | 
			
		||||
        return false;
 | 
			
		||||
    private _encodeMultiplexBatchFillCalldata(quote: SwapQuote): string {
 | 
			
		||||
        const wrappedBatchCalls = [];
 | 
			
		||||
        for_loop: for (const [i, order] of quote.orders.entries()) {
 | 
			
		||||
            switch_statement: switch (order.source) {
 | 
			
		||||
                case ERC20BridgeSource.Native:
 | 
			
		||||
                    if (order.type !== FillQuoteTransformerOrderType.Rfq) {
 | 
			
		||||
                        // Should never happen because we check `isMultiplexBatchFillCompatible`
 | 
			
		||||
                        // before calling this function.
 | 
			
		||||
                        throw new Error('Multiplex batch fill only supported for RFQ native orders');
 | 
			
		||||
                    }
 | 
			
		||||
    // Must not have an affiliate fee.
 | 
			
		||||
    if (!opts.affiliateFee.buyTokenFeeAmount.eq(0) || !opts.affiliateFee.sellTokenFeeAmount.eq(0)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    // Must not have a positive slippage fee.
 | 
			
		||||
    if (opts.affiliateFee.feeType === AffiliateFeeType.PositiveSlippageFee) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    // Must be a single order.
 | 
			
		||||
    if (quote.orders.length !== 1) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    const order = quote.orders[0];
 | 
			
		||||
    if (!directSources.includes(order.source)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    // VIP does not support selling the entire balance
 | 
			
		||||
    if (opts.shouldSellEntireBalance) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isBuyQuote(quote: SwapQuote): quote is MarketBuySwapQuote {
 | 
			
		||||
    return quote.type === MarketOperation.Buy;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isOptimizedBridgeOrder(x: OptimizedMarketOrder): x is OptimizedMarketBridgeOrder {
 | 
			
		||||
    return x.type === FillQuoteTransformerOrderType.Bridge;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isOptimizedLimitOrder(x: OptimizedMarketOrder): x is OptimizedMarketOrderBase<NativeLimitOrderFillData> {
 | 
			
		||||
    return x.type === FillQuoteTransformerOrderType.Limit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isOptimizedRfqOrder(x: OptimizedMarketOrder): x is OptimizedMarketOrderBase<NativeRfqOrderFillData> {
 | 
			
		||||
    return x.type === FillQuoteTransformerOrderType.Rfq;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getFQTTransformerDataFromOptimizedOrders(
 | 
			
		||||
    orders: OptimizedMarketOrder[],
 | 
			
		||||
): Pick<FillQuoteTransformerData, 'bridgeOrders' | 'limitOrders' | 'rfqOrders' | 'fillSequence'> {
 | 
			
		||||
    const fqtData: Pick<FillQuoteTransformerData, 'bridgeOrders' | 'limitOrders' | 'rfqOrders' | 'fillSequence'> = {
 | 
			
		||||
        bridgeOrders: [],
 | 
			
		||||
        limitOrders: [],
 | 
			
		||||
        rfqOrders: [],
 | 
			
		||||
        fillSequence: [],
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    for (const order of orders) {
 | 
			
		||||
        if (isOptimizedBridgeOrder(order)) {
 | 
			
		||||
            fqtData.bridgeOrders.push({
 | 
			
		||||
                bridgeData: createBridgeDataForBridgeOrder(order),
 | 
			
		||||
                makerTokenAmount: order.makerAmount,
 | 
			
		||||
                takerTokenAmount: order.takerAmount,
 | 
			
		||||
                source: getERC20BridgeSourceToBridgeSource(order.source),
 | 
			
		||||
            });
 | 
			
		||||
        } else if (isOptimizedLimitOrder(order)) {
 | 
			
		||||
            fqtData.limitOrders.push({
 | 
			
		||||
                    wrappedBatchCalls.push({
 | 
			
		||||
                        selector: this._multiplex.getSelector('_fillRfqOrder'),
 | 
			
		||||
                        sellAmount: order.takerAmount,
 | 
			
		||||
                        data: multiplexRfqEncoder.encode({
 | 
			
		||||
                            order: order.fillData.order,
 | 
			
		||||
                            signature: order.fillData.signature,
 | 
			
		||||
                maxTakerTokenFillAmount: order.takerAmount,
 | 
			
		||||
                        }),
 | 
			
		||||
                    });
 | 
			
		||||
        } else if (isOptimizedRfqOrder(order)) {
 | 
			
		||||
            fqtData.rfqOrders.push({
 | 
			
		||||
                order: order.fillData.order,
 | 
			
		||||
                signature: order.fillData.signature,
 | 
			
		||||
                maxTakerTokenFillAmount: order.takerAmount,
 | 
			
		||||
                    break switch_statement;
 | 
			
		||||
                case ERC20BridgeSource.UniswapV2:
 | 
			
		||||
                case ERC20BridgeSource.SushiSwap:
 | 
			
		||||
                    wrappedBatchCalls.push({
 | 
			
		||||
                        selector: this._multiplex.getSelector('_sellToUniswap'),
 | 
			
		||||
                        sellAmount: order.takerAmount,
 | 
			
		||||
                        data: multiplexUniswapEncoder.encode({
 | 
			
		||||
                            tokens: (order.fillData as UniswapV2FillData).tokenAddressPath,
 | 
			
		||||
                            isSushi: order.source === ERC20BridgeSource.SushiSwap,
 | 
			
		||||
                        }),
 | 
			
		||||
                    });
 | 
			
		||||
        } else {
 | 
			
		||||
            // Should never happen
 | 
			
		||||
            throw new Error('Unknown Order type');
 | 
			
		||||
                    break switch_statement;
 | 
			
		||||
                case ERC20BridgeSource.LiquidityProvider:
 | 
			
		||||
                    wrappedBatchCalls.push({
 | 
			
		||||
                        selector: this._multiplex.getSelector('_sellToLiquidityProvider'),
 | 
			
		||||
                        sellAmount: order.takerAmount,
 | 
			
		||||
                        data: multiplexPlpEncoder.encode({
 | 
			
		||||
                            provider: (order.fillData as LiquidityProviderFillData).poolAddress,
 | 
			
		||||
                            auxiliaryData: NULL_BYTES,
 | 
			
		||||
                        }),
 | 
			
		||||
                    });
 | 
			
		||||
                    break switch_statement;
 | 
			
		||||
                default:
 | 
			
		||||
                    const fqtData = encodeFillQuoteTransformerData({
 | 
			
		||||
                        side: FillQuoteTransformerSide.Sell,
 | 
			
		||||
                        sellToken: quote.takerToken,
 | 
			
		||||
                        buyToken: quote.makerToken,
 | 
			
		||||
                        ...getFQTTransformerDataFromOptimizedOrders(quote.orders.slice(i)),
 | 
			
		||||
                        refundReceiver: NULL_ADDRESS,
 | 
			
		||||
                        fillAmount: MAX_UINT256,
 | 
			
		||||
                    });
 | 
			
		||||
                    const transformations = [
 | 
			
		||||
                        { deploymentNonce: this.transformerNonces.fillQuoteTransformer, data: fqtData },
 | 
			
		||||
                        {
 | 
			
		||||
                            deploymentNonce: this.transformerNonces.payTakerTransformer,
 | 
			
		||||
                            data: encodePayTakerTransformerData({
 | 
			
		||||
                                tokens: [quote.takerToken, quote.makerToken],
 | 
			
		||||
                                amounts: [],
 | 
			
		||||
                            }),
 | 
			
		||||
                        },
 | 
			
		||||
                    ];
 | 
			
		||||
                    wrappedBatchCalls.push({
 | 
			
		||||
                        selector: this._exchangeProxy.getSelector('_transformERC20'),
 | 
			
		||||
                        sellAmount: BigNumber.sum(...quote.orders.slice(i).map(o => o.takerAmount)),
 | 
			
		||||
                        data: multiplexTransformERC20Encoder.encode({
 | 
			
		||||
                            transformations,
 | 
			
		||||
                            ethValue: constants.ZERO_AMOUNT,
 | 
			
		||||
                        }),
 | 
			
		||||
                    });
 | 
			
		||||
                    break for_loop;
 | 
			
		||||
            }
 | 
			
		||||
        fqtData.fillSequence.push(order.type);
 | 
			
		||||
        }
 | 
			
		||||
    return fqtData;
 | 
			
		||||
        return this._exchangeProxy
 | 
			
		||||
            .batchFill(
 | 
			
		||||
                {
 | 
			
		||||
                    inputToken: quote.takerToken,
 | 
			
		||||
                    outputToken: quote.makerToken,
 | 
			
		||||
                    sellAmount: quote.worstCaseQuoteInfo.totalTakerAmount,
 | 
			
		||||
                    calls: wrappedBatchCalls,
 | 
			
		||||
                },
 | 
			
		||||
                quote.worstCaseQuoteInfo.makerAmount,
 | 
			
		||||
            )
 | 
			
		||||
            .getABIEncodedTransactionData();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private _encodeMultiplexMultiHopFillCalldata(quote: SwapQuote, opts: ExchangeProxyContractOpts): string {
 | 
			
		||||
        const weth = new WETH9Contract(NULL_ADDRESS, this.provider);
 | 
			
		||||
        const wrappedMultiHopCalls = [];
 | 
			
		||||
        if (opts.isFromETH) {
 | 
			
		||||
            wrappedMultiHopCalls.push({
 | 
			
		||||
                selector: weth.getSelector('deposit'),
 | 
			
		||||
                data: NULL_BYTES,
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
        const [firstHopOrder, secondHopOrder] = quote.orders;
 | 
			
		||||
        const intermediateToken = firstHopOrder.makerToken;
 | 
			
		||||
        for (const order of [firstHopOrder, secondHopOrder]) {
 | 
			
		||||
            switch (order.source) {
 | 
			
		||||
                case ERC20BridgeSource.UniswapV2:
 | 
			
		||||
                case ERC20BridgeSource.SushiSwap:
 | 
			
		||||
                    wrappedMultiHopCalls.push({
 | 
			
		||||
                        selector: this._multiplex.getSelector('_sellToUniswap'),
 | 
			
		||||
                        data: multiplexUniswapEncoder.encode({
 | 
			
		||||
                            tokens: (order.fillData as UniswapV2FillData).tokenAddressPath,
 | 
			
		||||
                            isSushi: order.source === ERC20BridgeSource.SushiSwap,
 | 
			
		||||
                        }),
 | 
			
		||||
                    });
 | 
			
		||||
                    break;
 | 
			
		||||
                case ERC20BridgeSource.LiquidityProvider:
 | 
			
		||||
                    wrappedMultiHopCalls.push({
 | 
			
		||||
                        selector: this._multiplex.getSelector('_sellToLiquidityProvider'),
 | 
			
		||||
                        data: multiplexPlpEncoder.encode({
 | 
			
		||||
                            tokens: (order.fillData as LiquidityProviderFillData).poolAddress,
 | 
			
		||||
                            auxiliaryData: NULL_BYTES,
 | 
			
		||||
                        }),
 | 
			
		||||
                    });
 | 
			
		||||
                    break;
 | 
			
		||||
                default:
 | 
			
		||||
                    // Note: we'll need to redeploy TransformERC20Feature before we can
 | 
			
		||||
                    //       use other sources
 | 
			
		||||
                    // Should never happen because we check `isMultiplexMultiHopFillCompatible`
 | 
			
		||||
                    // before calling this function.
 | 
			
		||||
                    throw new Error(`Multiplex multi-hop unsupported source: ${order.source}`);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        if (opts.isToETH) {
 | 
			
		||||
            wrappedMultiHopCalls.push({
 | 
			
		||||
                selector: weth.getSelector('withdraw'),
 | 
			
		||||
                data: NULL_BYTES,
 | 
			
		||||
            });
 | 
			
		||||
        }
 | 
			
		||||
        return this._exchangeProxy
 | 
			
		||||
            .multiHopFill(
 | 
			
		||||
                {
 | 
			
		||||
                    tokens: [quote.takerToken, intermediateToken, quote.makerToken],
 | 
			
		||||
                    sellAmount: quote.worstCaseQuoteInfo.totalTakerAmount,
 | 
			
		||||
                    calls: wrappedMultiHopCalls,
 | 
			
		||||
                },
 | 
			
		||||
                quote.worstCaseQuoteInfo.makerAmount,
 | 
			
		||||
            )
 | 
			
		||||
            .getABIEncodedTransactionData();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,23 @@
 | 
			
		||||
import { RfqOrder, SIGNATURE_ABI } from '@0x/protocol-utils';
 | 
			
		||||
import { AbiEncoder } from '@0x/utils';
 | 
			
		||||
 | 
			
		||||
export const multiplexTransformERC20Encoder = AbiEncoder.create([
 | 
			
		||||
    {
 | 
			
		||||
        name: 'transformations',
 | 
			
		||||
        type: 'tuple[]',
 | 
			
		||||
        components: [{ name: 'deploymentNonce', type: 'uint32' }, { name: 'data', type: 'bytes' }],
 | 
			
		||||
    },
 | 
			
		||||
    { name: 'ethValue', type: 'uint256' },
 | 
			
		||||
]);
 | 
			
		||||
export const multiplexRfqEncoder = AbiEncoder.create([
 | 
			
		||||
    { name: 'order', type: 'tuple', components: RfqOrder.STRUCT_ABI },
 | 
			
		||||
    { name: 'signature', type: 'tuple', components: SIGNATURE_ABI },
 | 
			
		||||
]);
 | 
			
		||||
export const multiplexUniswapEncoder = AbiEncoder.create([
 | 
			
		||||
    { name: 'tokens', type: 'address[]' },
 | 
			
		||||
    { name: 'isSushi', type: 'bool' },
 | 
			
		||||
]);
 | 
			
		||||
export const multiplexPlpEncoder = AbiEncoder.create([
 | 
			
		||||
    { name: 'provider', type: 'address' },
 | 
			
		||||
    { name: 'auxiliaryData', type: 'bytes' },
 | 
			
		||||
]);
 | 
			
		||||
@@ -0,0 +1,175 @@
 | 
			
		||||
import { FillQuoteTransformerData, FillQuoteTransformerOrderType } from '@0x/protocol-utils';
 | 
			
		||||
 | 
			
		||||
import { AffiliateFeeType, ExchangeProxyContractOpts, MarketBuySwapQuote, MarketOperation, SwapQuote } from '../types';
 | 
			
		||||
import {
 | 
			
		||||
    createBridgeDataForBridgeOrder,
 | 
			
		||||
    getERC20BridgeSourceToBridgeSource,
 | 
			
		||||
} from '../utils/market_operation_utils/orders';
 | 
			
		||||
import {
 | 
			
		||||
    ERC20BridgeSource,
 | 
			
		||||
    NativeLimitOrderFillData,
 | 
			
		||||
    NativeRfqOrderFillData,
 | 
			
		||||
    OptimizedMarketBridgeOrder,
 | 
			
		||||
    OptimizedMarketOrder,
 | 
			
		||||
    OptimizedMarketOrderBase,
 | 
			
		||||
} from '../utils/market_operation_utils/types';
 | 
			
		||||
 | 
			
		||||
const MULTIPLEX_BATCH_FILL_SOURCES = [
 | 
			
		||||
    ERC20BridgeSource.UniswapV2,
 | 
			
		||||
    ERC20BridgeSource.SushiSwap,
 | 
			
		||||
    ERC20BridgeSource.LiquidityProvider,
 | 
			
		||||
    ERC20BridgeSource.Native,
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns true iff a quote can be filled via `MultiplexFeature.batchFill`.
 | 
			
		||||
 */
 | 
			
		||||
export function isMultiplexBatchFillCompatible(quote: SwapQuote, opts: ExchangeProxyContractOpts): boolean {
 | 
			
		||||
    if (requiresTransformERC20(opts)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (quote.isTwoHop) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    // batchFill does not support WETH wrapping/unwrapping at the moment
 | 
			
		||||
    if (opts.isFromETH || opts.isToETH) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (quote.orders.map(o => o.type).includes(FillQuoteTransformerOrderType.Limit)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    // Use Multiplex if the non-fallback sources are a subset of
 | 
			
		||||
    // {Uniswap, Sushiswap, RFQ, PLP}
 | 
			
		||||
    const nonFallbackSources = Object.keys(quote.sourceBreakdown);
 | 
			
		||||
    return nonFallbackSources.every(source => MULTIPLEX_BATCH_FILL_SOURCES.includes(source as ERC20BridgeSource));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const MULTIPLEX_MULTIHOP_FILL_SOURCES = [
 | 
			
		||||
    ERC20BridgeSource.UniswapV2,
 | 
			
		||||
    ERC20BridgeSource.SushiSwap,
 | 
			
		||||
    ERC20BridgeSource.LiquidityProvider,
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns true iff a quote can be filled via `MultiplexFeature.multiHopFill`.
 | 
			
		||||
 */
 | 
			
		||||
export function isMultiplexMultiHopFillCompatible(quote: SwapQuote, opts: ExchangeProxyContractOpts): boolean {
 | 
			
		||||
    if (requiresTransformERC20(opts)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    if (!quote.isTwoHop) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    const [firstHopOrder, secondHopOrder] = quote.orders;
 | 
			
		||||
    return (
 | 
			
		||||
        MULTIPLEX_MULTIHOP_FILL_SOURCES.includes(firstHopOrder.source) &&
 | 
			
		||||
        MULTIPLEX_MULTIHOP_FILL_SOURCES.includes(secondHopOrder.source)
 | 
			
		||||
    );
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns true iff a quote can be filled via a VIP feature.
 | 
			
		||||
 */
 | 
			
		||||
export function isDirectSwapCompatible(
 | 
			
		||||
    quote: SwapQuote,
 | 
			
		||||
    opts: ExchangeProxyContractOpts,
 | 
			
		||||
    directSources: ERC20BridgeSource[],
 | 
			
		||||
): boolean {
 | 
			
		||||
    if (requiresTransformERC20(opts)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    // Must be a single order.
 | 
			
		||||
    if (quote.orders.length !== 1) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    const order = quote.orders[0];
 | 
			
		||||
    if (!directSources.includes(order.source)) {
 | 
			
		||||
        return false;
 | 
			
		||||
    }
 | 
			
		||||
    return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Whether a quote is a market buy or not.
 | 
			
		||||
 */
 | 
			
		||||
export function isBuyQuote(quote: SwapQuote): quote is MarketBuySwapQuote {
 | 
			
		||||
    return quote.type === MarketOperation.Buy;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isOptimizedBridgeOrder(x: OptimizedMarketOrder): x is OptimizedMarketBridgeOrder {
 | 
			
		||||
    return x.type === FillQuoteTransformerOrderType.Bridge;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isOptimizedLimitOrder(x: OptimizedMarketOrder): x is OptimizedMarketOrderBase<NativeLimitOrderFillData> {
 | 
			
		||||
    return x.type === FillQuoteTransformerOrderType.Limit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function isOptimizedRfqOrder(x: OptimizedMarketOrder): x is OptimizedMarketOrderBase<NativeRfqOrderFillData> {
 | 
			
		||||
    return x.type === FillQuoteTransformerOrderType.Rfq;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Converts the given `OptimizedMarketOrder`s into bridge, limit, and RFQ orders for
 | 
			
		||||
 * FillQuoteTransformer.
 | 
			
		||||
 */
 | 
			
		||||
export function getFQTTransformerDataFromOptimizedOrders(
 | 
			
		||||
    orders: OptimizedMarketOrder[],
 | 
			
		||||
): Pick<FillQuoteTransformerData, 'bridgeOrders' | 'limitOrders' | 'rfqOrders' | 'fillSequence'> {
 | 
			
		||||
    const fqtData: Pick<FillQuoteTransformerData, 'bridgeOrders' | 'limitOrders' | 'rfqOrders' | 'fillSequence'> = {
 | 
			
		||||
        bridgeOrders: [],
 | 
			
		||||
        limitOrders: [],
 | 
			
		||||
        rfqOrders: [],
 | 
			
		||||
        fillSequence: [],
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    for (const order of orders) {
 | 
			
		||||
        if (isOptimizedBridgeOrder(order)) {
 | 
			
		||||
            fqtData.bridgeOrders.push({
 | 
			
		||||
                bridgeData: createBridgeDataForBridgeOrder(order),
 | 
			
		||||
                makerTokenAmount: order.makerAmount,
 | 
			
		||||
                takerTokenAmount: order.takerAmount,
 | 
			
		||||
                source: getERC20BridgeSourceToBridgeSource(order.source),
 | 
			
		||||
            });
 | 
			
		||||
        } else if (isOptimizedLimitOrder(order)) {
 | 
			
		||||
            fqtData.limitOrders.push({
 | 
			
		||||
                order: order.fillData.order,
 | 
			
		||||
                signature: order.fillData.signature,
 | 
			
		||||
                maxTakerTokenFillAmount: order.takerAmount,
 | 
			
		||||
            });
 | 
			
		||||
        } else if (isOptimizedRfqOrder(order)) {
 | 
			
		||||
            fqtData.rfqOrders.push({
 | 
			
		||||
                order: order.fillData.order,
 | 
			
		||||
                signature: order.fillData.signature,
 | 
			
		||||
                maxTakerTokenFillAmount: order.takerAmount,
 | 
			
		||||
            });
 | 
			
		||||
        } else {
 | 
			
		||||
            // Should never happen
 | 
			
		||||
            throw new Error('Unknown Order type');
 | 
			
		||||
        }
 | 
			
		||||
        fqtData.fillSequence.push(order.type);
 | 
			
		||||
    }
 | 
			
		||||
    return fqtData;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns true if swap quote must go through `tranformERC20`.
 | 
			
		||||
 */
 | 
			
		||||
export function requiresTransformERC20(opts: ExchangeProxyContractOpts): boolean {
 | 
			
		||||
    // Is a mtx.
 | 
			
		||||
    if (opts.isMetaTransaction) {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
    // Has an affiliate fee.
 | 
			
		||||
    if (!opts.affiliateFee.buyTokenFeeAmount.eq(0) || !opts.affiliateFee.sellTokenFeeAmount.eq(0)) {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
    // Has a positive slippage fee.
 | 
			
		||||
    if (opts.affiliateFee.feeType === AffiliateFeeType.PositiveSlippageFee) {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
    // VIP does not support selling the entire balance
 | 
			
		||||
    if (opts.shouldSellEntireBalance) {
 | 
			
		||||
        return true;
 | 
			
		||||
    }
 | 
			
		||||
    return false;
 | 
			
		||||
}
 | 
			
		||||
@@ -102,9 +102,18 @@ export const PROTOCOL_FEE_MULTIPLIER = new BigNumber(70000);
 | 
			
		||||
 */
 | 
			
		||||
export const FEE_QUOTE_SOURCES = [ERC20BridgeSource.Uniswap, ERC20BridgeSource.UniswapV2];
 | 
			
		||||
 | 
			
		||||
export const SOURCE_FLAGS: { [source in ERC20BridgeSource]: number } = Object.assign(
 | 
			
		||||
// HACK(mzhu25): Limit and RFQ orders need to be treated as different sources
 | 
			
		||||
//               when computing the exchange proxy gas overhead.
 | 
			
		||||
export const SOURCE_FLAGS: { [source in ERC20BridgeSource]: number } & {
 | 
			
		||||
    RfqOrder: number;
 | 
			
		||||
    LimitOrder: number;
 | 
			
		||||
} = Object.assign(
 | 
			
		||||
    {},
 | 
			
		||||
    ...Object.values(ERC20BridgeSource).map((source: ERC20BridgeSource, index) => ({ [source]: 1 << index })),
 | 
			
		||||
    ...['RfqOrder', 'LimitOrder', ...Object.values(ERC20BridgeSource)].map(
 | 
			
		||||
        (source: ERC20BridgeSource | 'RfqOrder' | 'LimitOrder', index) => ({
 | 
			
		||||
            [source]: source === ERC20BridgeSource.Native ? 0 : 1 << index,
 | 
			
		||||
        }),
 | 
			
		||||
    ),
 | 
			
		||||
);
 | 
			
		||||
 | 
			
		||||
const MIRROR_WRAPPED_TOKENS = {
 | 
			
		||||
 
 | 
			
		||||
@@ -83,7 +83,7 @@ function nativeOrdersToFills(
 | 
			
		||||
    // Create a single path from all orders.
 | 
			
		||||
    let fills: Array<Fill & { adjustedRate: BigNumber }> = [];
 | 
			
		||||
    for (const o of orders) {
 | 
			
		||||
        const { fillableTakerAmount, fillableTakerFeeAmount, fillableMakerAmount } = o;
 | 
			
		||||
        const { fillableTakerAmount, fillableTakerFeeAmount, fillableMakerAmount, type } = o;
 | 
			
		||||
        const makerAmount = fillableMakerAmount;
 | 
			
		||||
        const takerAmount = fillableTakerAmount.plus(fillableTakerFeeAmount);
 | 
			
		||||
        const input = side === MarketOperation.Sell ? takerAmount : makerAmount;
 | 
			
		||||
@@ -114,11 +114,11 @@ function nativeOrdersToFills(
 | 
			
		||||
            adjustedOutput,
 | 
			
		||||
            input: clippedInput,
 | 
			
		||||
            output: clippedOutput,
 | 
			
		||||
            flags: SOURCE_FLAGS[ERC20BridgeSource.Native],
 | 
			
		||||
            flags: SOURCE_FLAGS[type === FillQuoteTransformerOrderType.Rfq ? 'RfqOrder' : 'LimitOrder'],
 | 
			
		||||
            index: 0, // TBD
 | 
			
		||||
            parent: undefined, // TBD
 | 
			
		||||
            source: ERC20BridgeSource.Native,
 | 
			
		||||
            type: o.type,
 | 
			
		||||
            type,
 | 
			
		||||
            fillData: { ...o },
 | 
			
		||||
        });
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,8 @@ import { MarketOperation } from '../../types';
 | 
			
		||||
import { SOURCE_FLAGS, ZERO_AMOUNT } from './constants';
 | 
			
		||||
import { DexSample, ERC20BridgeSource, ExchangeProxyOverhead, FeeSchedule, MultiHopFillData } from './types';
 | 
			
		||||
 | 
			
		||||
// tslint:disable:no-bitwise
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Returns the fee-adjusted rate of a two-hop quote. Returns zero if the
 | 
			
		||||
 * quote falls short of the target input.
 | 
			
		||||
@@ -22,7 +24,11 @@ export function getTwoHopAdjustedRate(
 | 
			
		||||
        return ZERO_AMOUNT;
 | 
			
		||||
    }
 | 
			
		||||
    const penalty = outputAmountPerEth.times(
 | 
			
		||||
        exchangeProxyOverhead(SOURCE_FLAGS.MultiHop).plus(fees[ERC20BridgeSource.MultiHop]!(fillData)),
 | 
			
		||||
        exchangeProxyOverhead(
 | 
			
		||||
            SOURCE_FLAGS.MultiHop |
 | 
			
		||||
                SOURCE_FLAGS[twoHopQuote.fillData.firstHopSource.source] |
 | 
			
		||||
                SOURCE_FLAGS[twoHopQuote.fillData.secondHopSource.source],
 | 
			
		||||
        ).plus(fees[ERC20BridgeSource.MultiHop]!(fillData)),
 | 
			
		||||
    );
 | 
			
		||||
    const adjustedOutput = side === MarketOperation.Sell ? output.minus(penalty) : output.plus(penalty);
 | 
			
		||||
    return side === MarketOperation.Sell ? adjustedOutput.div(input) : input.div(adjustedOutput);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.13.0",
 | 
			
		||||
        "version": "3.13.0-multiplex",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Update IZeroEx artifact",
 | 
			
		||||
                "pr": 140
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1615932869
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.12.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.13.0-multiplex - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Update IZeroEx artifact (#140)
 | 
			
		||||
 | 
			
		||||
## v3.12.0 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Update artifacts (#145)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contract-artifacts",
 | 
			
		||||
    "version": "3.12.0",
 | 
			
		||||
    "version": "3.13.0-multiplex",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contract-wrappers-test",
 | 
			
		||||
    "version": "12.2.37",
 | 
			
		||||
    "version": "12.2.38-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -31,11 +31,11 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/protocol/tree/main/packages/contract-wrappers-test",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/contract-wrappers": "^13.13.0",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.22",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.14.0-multiplex",
 | 
			
		||||
        "@0x/contracts-test-utils": "^5.3.23-multiplex.0",
 | 
			
		||||
        "@0x/dev-utils": "^4.2.1",
 | 
			
		||||
        "@0x/migrations": "^7.0.0",
 | 
			
		||||
        "@0x/order-utils": "^10.4.17",
 | 
			
		||||
        "@0x/migrations": "^7.0.1-multiplex.0",
 | 
			
		||||
        "@0x/order-utils": "^10.4.18-multiplex.0",
 | 
			
		||||
        "@0x/subproviders": "^6.4.1",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.28",
 | 
			
		||||
        "@0x/tslint-config": "^4.1.3",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "13.14.0",
 | 
			
		||||
        "version": "13.14.0-multiplex",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Update IZeroExContract wrapper",
 | 
			
		||||
                "pr": 140
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1615932869
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "13.13.0",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v13.14.0-multiplex - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Update IZeroExContract wrapper (#140)
 | 
			
		||||
 | 
			
		||||
## v13.13.0 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Regenerate wrappers (#145)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contract-wrappers",
 | 
			
		||||
    "version": "13.13.0",
 | 
			
		||||
    "version": "13.14.0-multiplex",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "7.0.1-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "7.0.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v7.0.1-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v7.0.0 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Major version bump with V4 FQT
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/migrations",
 | 
			
		||||
    "version": "7.0.0",
 | 
			
		||||
    "version": "7.0.1-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -69,19 +69,19 @@
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^6.2.18",
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.7",
 | 
			
		||||
        "@0x/contracts-coordinator": "^3.1.26",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.24",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.25",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.4",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.25",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.26",
 | 
			
		||||
        "@0x/contracts-exchange-forwarder": "^4.2.26",
 | 
			
		||||
        "@0x/contracts-extensions": "^6.2.20",
 | 
			
		||||
        "@0x/contracts-multisig": "^4.1.26",
 | 
			
		||||
        "@0x/contracts-staking": "^2.0.33",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.4",
 | 
			
		||||
        "@0x/contracts-zero-ex": "^0.19.0",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^3.7.8-multiplex.0",
 | 
			
		||||
        "@0x/contracts-coordinator": "^3.1.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^1.3.25-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc1155": "^2.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc20": "^3.3.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-erc721": "^3.1.26-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange": "^3.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-exchange-forwarder": "^4.2.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-extensions": "^6.2.21-multiplex.0",
 | 
			
		||||
        "@0x/contracts-multisig": "^4.1.27-multiplex.0",
 | 
			
		||||
        "@0x/contracts-staking": "^2.0.34-multiplex.0",
 | 
			
		||||
        "@0x/contracts-utils": "^4.7.5-multiplex.0",
 | 
			
		||||
        "@0x/contracts-zero-ex": "^0.20.0-multiplex",
 | 
			
		||||
        "@0x/sol-compiler": "^4.6.1",
 | 
			
		||||
        "@0x/subproviders": "^6.4.1",
 | 
			
		||||
        "@0x/typescript-typings": "^5.1.6",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "10.4.18-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1614141718,
 | 
			
		||||
        "version": "10.4.17",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v10.4.18-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v10.4.17 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/order-utils",
 | 
			
		||||
    "version": "10.4.17",
 | 
			
		||||
    "version": "10.4.18-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -70,7 +70,7 @@
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/assert": "^3.0.21",
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.13.0",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.14.0-multiplex",
 | 
			
		||||
        "@0x/json-schemas": "^5.4.1",
 | 
			
		||||
        "@0x/utils": "^6.2.0",
 | 
			
		||||
        "@0x/web3-wrapper": "^7.4.1",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1615932869,
 | 
			
		||||
        "version": "1.3.1-multiplex.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "1.3.0",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v1.3.1-multiplex.0 - _March 16, 2021_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v1.3.0 - _February 24, 2021_
 | 
			
		||||
 | 
			
		||||
    * Add VIP utils (#127)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/protocol-utils",
 | 
			
		||||
    "version": "1.3.0",
 | 
			
		||||
    "version": "1.3.1-multiplex.0",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -64,7 +64,7 @@
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/assert": "^3.0.21",
 | 
			
		||||
        "@0x/contract-addresses": "^5.11.0",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.13.0",
 | 
			
		||||
        "@0x/contract-wrappers": "^13.14.0-multiplex",
 | 
			
		||||
        "@0x/json-schemas": "^5.4.1",
 | 
			
		||||
        "@0x/subproviders": "^6.4.1",
 | 
			
		||||
        "@0x/utils": "^6.2.0",
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user