Compare commits
	
		
			55 Commits
		
	
	
		
			@0x/contra
			...
			monorepo@1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					1166b43946 | ||
| 
						 | 
					0a6903c4c3 | ||
| 
						 | 
					62fae9af93 | ||
| 
						 | 
					509a1c2eb5 | ||
| 
						 | 
					8b94bbbc5e | ||
| 
						 | 
					bb923d2b7d | ||
| 
						 | 
					38adc72954 | ||
| 
						 | 
					362c7c57fa | ||
| 
						 | 
					6529b7eebf | ||
| 
						 | 
					439c98a6e5 | ||
| 
						 | 
					32258ef666 | ||
| 
						 | 
					176e088d4e | ||
| 
						 | 
					4fe57ba025 | ||
| 
						 | 
					2818e56932 | ||
| 
						 | 
					5428a19617 | ||
| 
						 | 
					b58cbca61a | ||
| 
						 | 
					5fc6a03784 | ||
| 
						 | 
					eb4ad0ba1b | ||
| 
						 | 
					72cdd1ea50 | ||
| 
						 | 
					18769f0b8f | ||
| 
						 | 
					b7d92c3c12 | ||
| 
						 | 
					b976101dca | ||
| 
						 | 
					8943b670a4 | ||
| 
						 | 
					c92ff7c622 | ||
| 
						 | 
					301b5e1721 | ||
| 
						 | 
					4e50b9b479 | ||
| 
						 | 
					f8b7b8cc28 | ||
| 
						 | 
					2a6ea74be7 | ||
| 
						 | 
					6d6a0c12cd | ||
| 
						 | 
					784a03300a | ||
| 
						 | 
					392f578567 | ||
| 
						 | 
					a91b1d2dd2 | ||
| 
						 | 
					400b3d961e | ||
| 
						 | 
					4f128470bd | ||
| 
						 | 
					fe06f41136 | ||
| 
						 | 
					f81a99565e | ||
| 
						 | 
					81e146650b | ||
| 
						 | 
					bd4e04d331 | ||
| 
						 | 
					7663d2c64b | ||
| 
						 | 
					443c3c2802 | ||
| 
						 | 
					17a546af5d | ||
| 
						 | 
					71faf46735 | ||
| 
						 | 
					ac28744df6 | ||
| 
						 | 
					adaf304b4e | ||
| 
						 | 
					16b13f9768 | ||
| 
						 | 
					d64bf98dc0 | ||
| 
						 | 
					71f57d13fa | ||
| 
						 | 
					469c10e45f | ||
| 
						 | 
					62def596af | ||
| 
						 | 
					aa10844d9e | ||
| 
						 | 
					be52079182 | ||
| 
						 | 
					255aca8789 | ||
| 
						 | 
					117f4a282d | ||
| 
						 | 
					e1ea65525f | ||
| 
						 | 
					d0a3495b5f | 
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.3.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.3.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v2.3.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v2.3.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-asset-proxy",
 | 
			
		||||
    "version": "2.3.0-beta.2",
 | 
			
		||||
    "version": "2.3.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -33,7 +33,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "ERC1155Proxy,ERC20Proxy,ERC721Proxy,MultiAssetProxy,StaticCallProxy,ERC20BridgeProxy,Eth2DaiBridge,IAssetData,IAssetProxy,UniswapBridge,TestStaticCallTarget",
 | 
			
		||||
@@ -50,12 +52,13 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@types/lodash": "4.14.104",
 | 
			
		||||
@@ -73,15 +76,16 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc1155": "^1.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc1155": "^1.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,64 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    ERC1155ProxyContract,
 | 
			
		||||
    ERC20BridgeProxyContract,
 | 
			
		||||
    ERC20ProxyContract,
 | 
			
		||||
    ERC721ProxyContract,
 | 
			
		||||
    Eth2DaiBridgeContract,
 | 
			
		||||
    IAssetDataContract,
 | 
			
		||||
    IAssetProxyContract,
 | 
			
		||||
    MultiAssetProxyContract,
 | 
			
		||||
    StaticCallProxyContract,
 | 
			
		||||
    TestStaticCallTargetContract,
 | 
			
		||||
    UniswapBridgeContract,
 | 
			
		||||
} from './wrappers';
 | 
			
		||||
 | 
			
		||||
export { ERC20Wrapper } from './erc20_wrapper';
 | 
			
		||||
export { ERC721Wrapper } from './erc721_wrapper';
 | 
			
		||||
export { ERC1155ProxyWrapper } from './erc1155_proxy_wrapper';
 | 
			
		||||
export { Erc1155Wrapper, ERC1155MintableContract } from '@0x/contracts-erc1155';
 | 
			
		||||
export { DummyERC20TokenContract } from '@0x/contracts-erc20';
 | 
			
		||||
export { DummyERC721TokenContract } from '@0x/contracts-erc721';
 | 
			
		||||
export {
 | 
			
		||||
    ERC1155HoldingsByOwner,
 | 
			
		||||
    ERC20BalancesByOwner,
 | 
			
		||||
    ERC721TokenIdsByOwner,
 | 
			
		||||
    ERC1155FungibleHoldingsByOwner,
 | 
			
		||||
    ERC1155NonFungibleHoldingsByOwner,
 | 
			
		||||
} from '@0x/contracts-test-utils';
 | 
			
		||||
export {
 | 
			
		||||
    TransactionReceiptWithDecodedLogs,
 | 
			
		||||
    Provider,
 | 
			
		||||
    ZeroExProvider,
 | 
			
		||||
    JSONRPCRequestPayload,
 | 
			
		||||
    JSONRPCErrorCallback,
 | 
			
		||||
    TransactionReceiptStatus,
 | 
			
		||||
    JSONRPCResponsePayload,
 | 
			
		||||
    JSONRPCResponseError,
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/asset-proxy/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/asset-proxy/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.1.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.1.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v2.1.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v2.1.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-coordinator",
 | 
			
		||||
    "version": "2.1.0-beta.2",
 | 
			
		||||
    "version": "2.1.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -33,7 +33,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "Coordinator,CoordinatorRegistry,LibCoordinatorApproval,LibCoordinatorRichErrors,LibEIP712CoordinatorDomain,LibConstants",
 | 
			
		||||
@@ -50,16 +52,17 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
        "@types/lodash": "4.14.104",
 | 
			
		||||
@@ -77,11 +80,12 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,41 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    CoordinatorContract,
 | 
			
		||||
    CoordinatorRegistryContract,
 | 
			
		||||
    LibConstantsContract,
 | 
			
		||||
    LibCoordinatorApprovalContract,
 | 
			
		||||
    LibCoordinatorRichErrorsContract,
 | 
			
		||||
    LibEIP712CoordinatorDomainContract,
 | 
			
		||||
} from './wrappers';
 | 
			
		||||
export import CoordinatorRevertErrors = require('./revert_errors');
 | 
			
		||||
export { ApprovalFactory } from './approval_factory';
 | 
			
		||||
export { SignedCoordinatorApproval } from './types';
 | 
			
		||||
export { SignatureType, SignedZeroExTransaction, EIP712DomainWithDefaultSchema } from '@0x/types';
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/coordinator/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/coordinator/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "0.1.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "0.1.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v0.1.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v0.1.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-dev-utils",
 | 
			
		||||
    "version": "0.1.0-beta.2",
 | 
			
		||||
    "version": "0.1.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -22,7 +22,9 @@
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "quantify_bytecode": "echo EVM bytecode object lengths:;for i in ./test/generated-artifacts/*.json; do node -e \"console.log('$i\t' + (require('$i').compilerOutput.evm.bytecode.object.length - 2) / 2)\"; done",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "DevUtils,LibAssetData,LibTransactionDecoder",
 | 
			
		||||
@@ -39,10 +41,11 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/dev-utils/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/assert": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@types/node": "*",
 | 
			
		||||
        "ethers": "~4.0.4",
 | 
			
		||||
@@ -51,10 +54,11 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "ethereum-types": "^2.2.0-beta.2"
 | 
			
		||||
    },
 | 
			
		||||
    "publishConfig": {
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +1,30 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export { DevUtilsContract, LibAssetDataContract, LibTransactionDecoderContract } from './wrappers';
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/dev-utils/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/dev-utils/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "1.2.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "1.2.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v1.2.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v1.2.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-erc1155",
 | 
			
		||||
    "version": "1.2.0-beta.2",
 | 
			
		||||
    "version": "1.2.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -33,7 +33,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "ERC1155,ERC1155Mintable,IERC1155Receiver,DummyERC1155Receiver",
 | 
			
		||||
@@ -50,11 +52,12 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@types/lodash": "4.14.104",
 | 
			
		||||
@@ -71,11 +74,12 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,45 @@
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    DummyERC1155ReceiverContract,
 | 
			
		||||
    ERC1155Contract,
 | 
			
		||||
    ERC1155MintableContract,
 | 
			
		||||
    IERC1155ReceiverContract,
 | 
			
		||||
    DummyERC1155ReceiverBatchTokenReceivedEventArgs,
 | 
			
		||||
    ERC1155TransferSingleEventArgs,
 | 
			
		||||
} from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export { Erc1155Wrapper } from './erc1155_wrapper';
 | 
			
		||||
export {
 | 
			
		||||
    Provider,
 | 
			
		||||
    TransactionReceiptWithDecodedLogs,
 | 
			
		||||
    JSONRPCRequestPayload,
 | 
			
		||||
    JSONRPCResponsePayload,
 | 
			
		||||
    JSONRPCResponseError,
 | 
			
		||||
    JSONRPCErrorCallback,
 | 
			
		||||
    TransactionReceiptStatus,
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/erc1155/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/erc1155/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.3.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.3.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v2.3.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v2.3.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-erc20",
 | 
			
		||||
    "version": "2.3.0-beta.2",
 | 
			
		||||
    "version": "2.3.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -32,7 +32,9 @@
 | 
			
		||||
        "test:circleci": "yarn test",
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol"
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "DummyERC20Token,ERC20Token,WETH9,ZRXToken,DummyNoReturnERC20Token,DummyMultipleReturnERC20Token",
 | 
			
		||||
@@ -49,12 +51,13 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
@@ -72,10 +75,11 @@
 | 
			
		||||
        "shx": "^0.2.2",
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "ethereum-types": "^2.2.0-beta.2"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +1,42 @@
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    DummyERC20TokenContract,
 | 
			
		||||
    DummyMultipleReturnERC20TokenContract,
 | 
			
		||||
    DummyNoReturnERC20TokenContract,
 | 
			
		||||
    WETH9Contract,
 | 
			
		||||
    ZRXTokenContract,
 | 
			
		||||
    DummyERC20TokenTransferEventArgs,
 | 
			
		||||
    ERC20TokenEventArgs,
 | 
			
		||||
    ERC20TokenEvents,
 | 
			
		||||
    ERC20TokenTransferEventArgs,
 | 
			
		||||
    ERC20TokenApprovalEventArgs,
 | 
			
		||||
    ERC20TokenContract,
 | 
			
		||||
} from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/erc20/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/erc20/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.2.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.2.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v2.2.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v2.2.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-erc721",
 | 
			
		||||
    "version": "2.2.0-beta.2",
 | 
			
		||||
    "version": "2.2.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -33,7 +33,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "DummyERC721Token,ERC721Token,IERC721Receiver,DummyERC721Receiver",
 | 
			
		||||
@@ -50,12 +52,13 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
@@ -75,10 +78,11 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "ethereum-types": "^2.2.0-beta.2"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +1,35 @@
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    DummyERC721ReceiverContract,
 | 
			
		||||
    DummyERC721TokenContract,
 | 
			
		||||
    ERC721TokenContract,
 | 
			
		||||
    IERC721ReceiverContract,
 | 
			
		||||
} from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/erc721/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/erc721/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.1.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.1.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.1.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.1.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-exchange-forwarder",
 | 
			
		||||
    "version": "3.1.0-beta.2",
 | 
			
		||||
    "version": "3.1.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -32,7 +32,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "Forwarder",
 | 
			
		||||
@@ -49,19 +51,20 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
@@ -81,10 +84,11 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "ethereum-types": "^2.2.0-beta.2"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,3 +1,31 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export { ForwarderContract } from './wrappers';
 | 
			
		||||
export import ForwarderRevertErrors = require('./revert_errors');
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/exchange-forwarder/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/exchange-forwarder/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.1.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.1.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.1.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.1.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-exchange-libs",
 | 
			
		||||
    "version": "3.1.0-beta.2",
 | 
			
		||||
    "version": "3.1.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -33,7 +33,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "IWallet,LibEIP712ExchangeDomain,LibExchangeRichErrors,LibMath,LibMathRichErrors,LibOrder,LibZeroExTransaction",
 | 
			
		||||
@@ -50,12 +52,13 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/libs/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/subproviders": "^5.1.0-beta.2",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
        "@types/lodash": "4.14.104",
 | 
			
		||||
@@ -74,12 +77,13 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,42 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    IWalletContract,
 | 
			
		||||
    LibEIP712ExchangeDomainContract,
 | 
			
		||||
    LibExchangeRichErrorsContract,
 | 
			
		||||
    LibMathContract,
 | 
			
		||||
    LibMathRichErrorsContract,
 | 
			
		||||
    LibOrderContract,
 | 
			
		||||
    LibZeroExTransactionContract,
 | 
			
		||||
} from './wrappers';
 | 
			
		||||
export import LibMathRevertErrors = require('./lib_math_revert_errors');
 | 
			
		||||
 | 
			
		||||
import * as ReferenceFunctionsToExport from './reference_functions';
 | 
			
		||||
export import ReferenceFunctions = ReferenceFunctionsToExport;
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.2.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "2.2.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v2.2.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v2.2.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-exchange",
 | 
			
		||||
    "version": "2.2.0-beta.2",
 | 
			
		||||
    "version": "2.2.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -33,7 +33,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "Exchange,IExchange",
 | 
			
		||||
@@ -50,16 +52,17 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/protocol/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-multisig": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-staking": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-multisig": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-staking": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
        "@types/lodash": "4.14.104",
 | 
			
		||||
@@ -78,15 +81,16 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc1155": "^1.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc1155": "^1.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,50 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    IExchangeContract,
 | 
			
		||||
    IExchangeEvents,
 | 
			
		||||
    IExchangeFillEventArgs,
 | 
			
		||||
    ExchangeEventArgs,
 | 
			
		||||
    ExchangeEvents,
 | 
			
		||||
    ExchangeSignatureValidatorApprovalEventArgs,
 | 
			
		||||
    ExchangeFillEventArgs,
 | 
			
		||||
    ExchangeCancelEventArgs,
 | 
			
		||||
    ExchangeCancelUpToEventArgs,
 | 
			
		||||
    ExchangeAssetProxyRegisteredEventArgs,
 | 
			
		||||
    ExchangeContract,
 | 
			
		||||
    ExchangeProtocolFeeCollectorAddressEventArgs,
 | 
			
		||||
    ExchangeProtocolFeeMultiplierEventArgs,
 | 
			
		||||
    ExchangeTransactionExecutionEventArgs,
 | 
			
		||||
} from './wrappers';
 | 
			
		||||
export import ExchangeRevertErrors = require('./revert_errors');
 | 
			
		||||
export { exchangeDataEncoder } from './exchange_data_encoder';
 | 
			
		||||
export { SignedOrder } from '@0x/types';
 | 
			
		||||
export { ExchangeFunctionName } from '@0x/contracts-test-utils';
 | 
			
		||||
export { DevUtilsContract } from '@0x/contracts-dev-utils';
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
@@ -40,7 +40,8 @@ blockchainTests.resets('LibExchangeRichErrorDecoder', ({ provider, txDefaults })
 | 
			
		||||
        // Solidity counterparts.
 | 
			
		||||
        const endpointName = `decode${revert.name}`;
 | 
			
		||||
        const callAsync = (_encoded: string) => {
 | 
			
		||||
            return (decoder as any)[endpointName](_encoded).callAsync.call((decoder as any)[endpointName]);
 | 
			
		||||
            const wrapperFunctions = (decoder as any)[endpointName](_encoded);
 | 
			
		||||
            return wrapperFunctions.callAsync.bind(wrapperFunctions).call((decoder as any)[endpointName]);
 | 
			
		||||
        };
 | 
			
		||||
        describe(`${endpointName}()`, async () => {
 | 
			
		||||
            it('decodes encoded parameters', async () => {
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										7
									
								
								contracts/exchange/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/exchange/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "4.1.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "4.1.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v4.1.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v4.1.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-extensions",
 | 
			
		||||
    "version": "4.1.0-beta.2",
 | 
			
		||||
    "version": "4.1.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -33,7 +33,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "DutchAuction,OrderMatcher,BalanceThresholdFilter",
 | 
			
		||||
@@ -50,19 +52,20 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
@@ -82,10 +85,11 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "ethereum-types": "^2.2.0-beta.2"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +1,30 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export { BalanceThresholdFilterContract, DutchAuctionContract, OrderMatcherContract } from './wrappers';
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,4 @@
 | 
			
		||||
 */
 | 
			
		||||
export * from '../generated-wrappers/balance_threshold_filter';
 | 
			
		||||
export * from '../generated-wrappers/dutch_auction';
 | 
			
		||||
export * from '../generated-wrappers/exchange';
 | 
			
		||||
export * from '../generated-wrappers/exchange_wrapper';
 | 
			
		||||
export * from '../generated-wrappers/order_matcher';
 | 
			
		||||
export * from '../generated-wrappers/weth9';
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/extensions/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/extensions/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "1.0.3-beta.1",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "timestamp": 1574030254,
 | 
			
		||||
        "version": "1.0.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v1.0.3-beta.1 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v1.0.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-integrations",
 | 
			
		||||
    "version": "1.0.2",
 | 
			
		||||
    "version": "1.0.3-beta.1",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -50,16 +50,16 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/extensions/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-coordinator": "^2.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange-forwarder": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-coordinator": "^2.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange-forwarder": "^3.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
        "@azure/core-asynciterator-polyfill": "^1.0.0",
 | 
			
		||||
@@ -81,15 +81,15 @@
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc1155": "^1.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-multisig": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-staking": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc1155": "^1.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-multisig": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-staking": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +1,2 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
 
 | 
			
		||||
@@ -67,10 +67,18 @@ blockchainTests.resets('Coordinator integration tests', env => {
 | 
			
		||||
            orderConfig: {
 | 
			
		||||
                senderAddress: coordinator.address,
 | 
			
		||||
                feeRecipientAddress: feeRecipient.address,
 | 
			
		||||
                makerAssetData: await devUtils.encodeERC20AssetData(makerToken.address).callAsync(),
 | 
			
		||||
                takerAssetData: await devUtils.encodeERC20AssetData(takerToken.address).callAsync(),
 | 
			
		||||
                makerFeeAssetData: await devUtils.encodeERC20AssetData(makerFeeToken.address).callAsync(),
 | 
			
		||||
                takerFeeAssetData: await devUtils.encodeERC20AssetData(takerFeeToken.address).callAsync(),
 | 
			
		||||
                makerAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(makerToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                takerAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(takerToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                makerFeeAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(makerFeeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                takerFeeAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(takerFeeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
            },
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
@@ -91,6 +99,10 @@ blockchainTests.resets('Coordinator integration tests', env => {
 | 
			
		||||
        );
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    after(async () => {
 | 
			
		||||
        Actor.count = 0;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    async function simulateFillsAsync(
 | 
			
		||||
        orders: SignedOrder[],
 | 
			
		||||
        txReceipt: TransactionReceiptWithDecodedLogs,
 | 
			
		||||
@@ -144,7 +156,9 @@ blockchainTests.resets('Coordinator integration tests', env => {
 | 
			
		||||
                    taker.address,
 | 
			
		||||
                    deployment.staking.stakingProxy.address,
 | 
			
		||||
                    DeploymentManager.protocolFee,
 | 
			
		||||
                    await devUtils.encodeERC20AssetData(deployment.tokens.weth.address).callAsync(),
 | 
			
		||||
                    deployment.assetDataEncoder
 | 
			
		||||
                        .ERC20Token(deployment.tokens.weth.address)
 | 
			
		||||
                        .getABIEncodedTransactionData(),
 | 
			
		||||
                );
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										862
									
								
								contracts/integrations/test/exchange/batch_match_orders_test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										862
									
								
								contracts/integrations/test/exchange/batch_match_orders_test.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,862 @@
 | 
			
		||||
import { DummyERC20TokenContract } from '@0x/contracts-erc20';
 | 
			
		||||
import { ExchangeRevertErrors } from '@0x/contracts-exchange';
 | 
			
		||||
import { blockchainTests, constants, expect, toBaseUnitAmount } from '@0x/contracts-test-utils';
 | 
			
		||||
import { Order, SignedOrder } from '@0x/types';
 | 
			
		||||
import { BigNumber } from '@0x/utils';
 | 
			
		||||
 | 
			
		||||
import { Actor } from '../framework/actors/base';
 | 
			
		||||
import { Maker } from '../framework/actors/maker';
 | 
			
		||||
import { actorAddressesByName } from '../framework/actors/utils';
 | 
			
		||||
import { BlockchainBalanceStore } from '../framework/balances/blockchain_balance_store';
 | 
			
		||||
import { TokenIds } from '../framework/balances/types';
 | 
			
		||||
import { DeploymentManager } from '../framework/deployment_manager';
 | 
			
		||||
 | 
			
		||||
import { MatchOrderTester, MatchTransferAmounts } from './match_order_tester';
 | 
			
		||||
 | 
			
		||||
blockchainTests.resets('matchOrders integration tests', env => {
 | 
			
		||||
    // The fee recipient addresses.
 | 
			
		||||
    let feeRecipientLeft: Actor;
 | 
			
		||||
    let feeRecipientRight: Actor;
 | 
			
		||||
 | 
			
		||||
    // The address that should be responsible for matching orders.
 | 
			
		||||
    let matcher: Actor;
 | 
			
		||||
 | 
			
		||||
    // Market makers who have opposite maker and taker assets.
 | 
			
		||||
    let makerLeft: Maker;
 | 
			
		||||
    let makerRight: Maker;
 | 
			
		||||
 | 
			
		||||
    // The addresses of important assets for testing.
 | 
			
		||||
    let makerAssetLeft: DummyERC20TokenContract;
 | 
			
		||||
    let makerAssetRight: DummyERC20TokenContract;
 | 
			
		||||
    let feeAsset: DummyERC20TokenContract;
 | 
			
		||||
 | 
			
		||||
    let makerAssetDataLeft: string;
 | 
			
		||||
    let makerAssetDataRight: string;
 | 
			
		||||
    let feeAssetData: string;
 | 
			
		||||
 | 
			
		||||
    let deployment: DeploymentManager;
 | 
			
		||||
    let matchOrderTester: MatchOrderTester;
 | 
			
		||||
    let leftId: BigNumber;
 | 
			
		||||
    let rightId: BigNumber;
 | 
			
		||||
 | 
			
		||||
    before(async () => {
 | 
			
		||||
        deployment = await DeploymentManager.deployAsync(env, {
 | 
			
		||||
            numErc20TokensToDeploy: 3,
 | 
			
		||||
            numErc721TokensToDeploy: 1,
 | 
			
		||||
            numErc1155TokensToDeploy: 1,
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        makerAssetLeft = deployment.tokens.erc20[0];
 | 
			
		||||
        makerAssetRight = deployment.tokens.erc20[1];
 | 
			
		||||
        feeAsset = deployment.tokens.erc20[2];
 | 
			
		||||
 | 
			
		||||
        // Create the fee recipient actors.
 | 
			
		||||
        feeRecipientLeft = new Actor({
 | 
			
		||||
            name: 'left fee recipient',
 | 
			
		||||
            deployment,
 | 
			
		||||
        });
 | 
			
		||||
        feeRecipientRight = new Actor({
 | 
			
		||||
            name: 'right fee recipient',
 | 
			
		||||
            deployment,
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // Encode the asset data.
 | 
			
		||||
        makerAssetDataLeft = deployment.assetDataEncoder
 | 
			
		||||
            .ERC20Token(makerAssetLeft.address)
 | 
			
		||||
            .getABIEncodedTransactionData();
 | 
			
		||||
        makerAssetDataRight = deployment.assetDataEncoder
 | 
			
		||||
            .ERC20Token(makerAssetRight.address)
 | 
			
		||||
            .getABIEncodedTransactionData();
 | 
			
		||||
        feeAssetData = deployment.assetDataEncoder.ERC20Token(feeAsset.address).getABIEncodedTransactionData();
 | 
			
		||||
 | 
			
		||||
        // Create two market makers with compatible orders for matching.
 | 
			
		||||
        makerLeft = new Maker({
 | 
			
		||||
            name: 'left maker',
 | 
			
		||||
            deployment,
 | 
			
		||||
            orderConfig: {
 | 
			
		||||
                makerAssetData: makerAssetDataLeft,
 | 
			
		||||
                takerAssetData: makerAssetDataRight,
 | 
			
		||||
                makerFeeAssetData: feeAssetData,
 | 
			
		||||
                takerFeeAssetData: feeAssetData,
 | 
			
		||||
                feeRecipientAddress: feeRecipientLeft.address,
 | 
			
		||||
            },
 | 
			
		||||
        });
 | 
			
		||||
        makerRight = new Maker({
 | 
			
		||||
            name: 'right maker',
 | 
			
		||||
            deployment,
 | 
			
		||||
            orderConfig: {
 | 
			
		||||
                makerAssetData: makerAssetDataRight,
 | 
			
		||||
                takerAssetData: makerAssetDataLeft,
 | 
			
		||||
                makerFeeAssetData: feeAssetData,
 | 
			
		||||
                takerFeeAssetData: feeAssetData,
 | 
			
		||||
                feeRecipientAddress: feeRecipientRight.address,
 | 
			
		||||
            },
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // Create a matcher.
 | 
			
		||||
        matcher = new Actor({
 | 
			
		||||
            name: 'matcher',
 | 
			
		||||
            deployment,
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        // Configure the appropriate actors with initial balances.
 | 
			
		||||
        await Promise.all([
 | 
			
		||||
            ...deployment.tokens.erc20.map(async token => makerLeft.configureERC20TokenAsync(token)),
 | 
			
		||||
            ...deployment.tokens.erc20.map(async token => makerRight.configureERC20TokenAsync(token)),
 | 
			
		||||
            makerLeft.configureERC20TokenAsync(deployment.tokens.weth, deployment.staking.stakingProxy.address),
 | 
			
		||||
            makerRight.configureERC20TokenAsync(deployment.tokens.weth, deployment.staking.stakingProxy.address),
 | 
			
		||||
            matcher.configureERC20TokenAsync(feeAsset),
 | 
			
		||||
            matcher.configureERC20TokenAsync(deployment.tokens.weth, deployment.staking.stakingProxy.address),
 | 
			
		||||
            feeRecipientLeft.configureERC20TokenAsync(feeAsset),
 | 
			
		||||
            feeRecipientLeft.configureERC20TokenAsync(deployment.tokens.weth, deployment.staking.stakingProxy.address),
 | 
			
		||||
            feeRecipientRight.configureERC20TokenAsync(feeAsset),
 | 
			
		||||
            feeRecipientRight.configureERC20TokenAsync(deployment.tokens.weth, deployment.staking.stakingProxy.address),
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
        leftId = await makerLeft.configureERC1155TokenAsync(deployment.tokens.erc1155[0]);
 | 
			
		||||
        [rightId] = await makerRight.configureERC721TokenAsync(deployment.tokens.erc721[0]);
 | 
			
		||||
 | 
			
		||||
        const tokenIds: TokenIds = { erc721: {}, erc1155: {} };
 | 
			
		||||
        tokenIds.erc1155[deployment.tokens.erc1155[0].address] = { fungible: [leftId], nonFungible: [] };
 | 
			
		||||
        tokenIds.erc721[deployment.tokens.erc721[0].address] = [rightId];
 | 
			
		||||
 | 
			
		||||
        const blockchainBalanceStore = new BlockchainBalanceStore(
 | 
			
		||||
            {
 | 
			
		||||
                ...actorAddressesByName([feeRecipientLeft, feeRecipientRight, makerLeft, makerRight, matcher]),
 | 
			
		||||
                stakingProxy: deployment.staking.stakingProxy.address,
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                erc20: {
 | 
			
		||||
                    makerTokenLeft: deployment.tokens.erc20[0],
 | 
			
		||||
                    makerTokenRight: deployment.tokens.erc20[1],
 | 
			
		||||
                    feeToken: deployment.tokens.erc20[2],
 | 
			
		||||
                    weth: deployment.tokens.weth,
 | 
			
		||||
                },
 | 
			
		||||
                erc721: {
 | 
			
		||||
                    nft: deployment.tokens.erc721[0],
 | 
			
		||||
                },
 | 
			
		||||
                erc1155: {
 | 
			
		||||
                    fungible: deployment.tokens.erc1155[0],
 | 
			
		||||
                },
 | 
			
		||||
            },
 | 
			
		||||
            tokenIds,
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        matchOrderTester = new MatchOrderTester(deployment, blockchainBalanceStore);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    after(async () => {
 | 
			
		||||
        Actor.count = 0;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    describe('batchMatchOrders and batchMatchOrdersWithMaximalFill rich errors', async () => {
 | 
			
		||||
        it('should fail if there are zero leftOrders with the ZeroLeftOrders rich error reason', async () => {
 | 
			
		||||
            const leftOrders: SignedOrder[] = [];
 | 
			
		||||
            const rightOrders = [
 | 
			
		||||
                await makerRight.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                }),
 | 
			
		||||
            ];
 | 
			
		||||
            const expectedError = new ExchangeRevertErrors.BatchMatchOrdersError(
 | 
			
		||||
                ExchangeRevertErrors.BatchMatchOrdersErrorCodes.ZeroLeftOrders,
 | 
			
		||||
            );
 | 
			
		||||
            let tx = deployment.exchange
 | 
			
		||||
                .batchMatchOrders(
 | 
			
		||||
                    leftOrders,
 | 
			
		||||
                    rightOrders,
 | 
			
		||||
                    leftOrders.map(order => order.signature),
 | 
			
		||||
                    rightOrders.map(order => order.signature),
 | 
			
		||||
                )
 | 
			
		||||
                .awaitTransactionSuccessAsync({ from: matcher.address });
 | 
			
		||||
            await expect(tx).to.revertWith(expectedError);
 | 
			
		||||
            tx = deployment.exchange
 | 
			
		||||
                .batchMatchOrdersWithMaximalFill(
 | 
			
		||||
                    leftOrders,
 | 
			
		||||
                    rightOrders,
 | 
			
		||||
                    leftOrders.map(order => order.signature),
 | 
			
		||||
                    rightOrders.map(order => order.signature),
 | 
			
		||||
                )
 | 
			
		||||
                .awaitTransactionSuccessAsync({ from: matcher.address });
 | 
			
		||||
            return expect(tx).to.revertWith(expectedError);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should fail if there are zero rightOrders', async () => {
 | 
			
		||||
            const leftOrders = [
 | 
			
		||||
                await makerLeft.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                }),
 | 
			
		||||
            ];
 | 
			
		||||
            const rightOrders: SignedOrder[] = [];
 | 
			
		||||
            const expectedError = new ExchangeRevertErrors.BatchMatchOrdersError(
 | 
			
		||||
                ExchangeRevertErrors.BatchMatchOrdersErrorCodes.ZeroRightOrders,
 | 
			
		||||
            );
 | 
			
		||||
            let tx = deployment.exchange
 | 
			
		||||
                .batchMatchOrders(
 | 
			
		||||
                    leftOrders,
 | 
			
		||||
                    rightOrders,
 | 
			
		||||
                    leftOrders.map(order => order.signature),
 | 
			
		||||
                    rightOrders.map(order => order.signature),
 | 
			
		||||
                )
 | 
			
		||||
                .awaitTransactionSuccessAsync({ from: matcher.address });
 | 
			
		||||
            await expect(tx).to.revertWith(expectedError);
 | 
			
		||||
            tx = deployment.exchange
 | 
			
		||||
                .batchMatchOrdersWithMaximalFill(
 | 
			
		||||
                    leftOrders,
 | 
			
		||||
                    rightOrders,
 | 
			
		||||
                    leftOrders.map(order => order.signature),
 | 
			
		||||
                    rightOrders.map(order => order.signature),
 | 
			
		||||
                )
 | 
			
		||||
                .awaitTransactionSuccessAsync({ from: matcher.address });
 | 
			
		||||
            return expect(tx).to.revertWith(expectedError);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should fail if there are a different number of left orders and signatures', async () => {
 | 
			
		||||
            const leftOrders = [
 | 
			
		||||
                await makerLeft.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                }),
 | 
			
		||||
                await makerRight.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                }),
 | 
			
		||||
            ];
 | 
			
		||||
            const rightOrders = [
 | 
			
		||||
                await makerRight.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                }),
 | 
			
		||||
                await makerRight.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                }),
 | 
			
		||||
            ];
 | 
			
		||||
            const expectedError = new ExchangeRevertErrors.BatchMatchOrdersError(
 | 
			
		||||
                ExchangeRevertErrors.BatchMatchOrdersErrorCodes.InvalidLengthLeftSignatures,
 | 
			
		||||
            );
 | 
			
		||||
            let tx = deployment.exchange
 | 
			
		||||
                .batchMatchOrders(
 | 
			
		||||
                    leftOrders,
 | 
			
		||||
                    rightOrders,
 | 
			
		||||
                    [leftOrders[0].signature],
 | 
			
		||||
                    rightOrders.map(order => order.signature),
 | 
			
		||||
                )
 | 
			
		||||
                .awaitTransactionSuccessAsync({ from: matcher.address });
 | 
			
		||||
            await expect(tx).to.revertWith(expectedError);
 | 
			
		||||
            tx = deployment.exchange
 | 
			
		||||
                .batchMatchOrdersWithMaximalFill(
 | 
			
		||||
                    leftOrders,
 | 
			
		||||
                    rightOrders,
 | 
			
		||||
                    [leftOrders[0].signature],
 | 
			
		||||
                    rightOrders.map(order => order.signature),
 | 
			
		||||
                )
 | 
			
		||||
                .awaitTransactionSuccessAsync({ from: matcher.address });
 | 
			
		||||
            return expect(tx).to.revertWith(expectedError);
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should fail if there are a different number of right orders and signatures', async () => {
 | 
			
		||||
            const leftOrders = [
 | 
			
		||||
                await makerLeft.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                }),
 | 
			
		||||
                await makerLeft.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                }),
 | 
			
		||||
            ];
 | 
			
		||||
            const rightOrders = [
 | 
			
		||||
                await makerRight.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                }),
 | 
			
		||||
                await makerRight.signOrderAsync({
 | 
			
		||||
                    makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                }),
 | 
			
		||||
            ];
 | 
			
		||||
            const expectedError = new ExchangeRevertErrors.BatchMatchOrdersError(
 | 
			
		||||
                ExchangeRevertErrors.BatchMatchOrdersErrorCodes.InvalidLengthRightSignatures,
 | 
			
		||||
            );
 | 
			
		||||
            let tx = deployment.exchange
 | 
			
		||||
                .batchMatchOrders(leftOrders, rightOrders, leftOrders.map(order => order.signature), [
 | 
			
		||||
                    rightOrders[0].signature,
 | 
			
		||||
                ])
 | 
			
		||||
                .awaitTransactionSuccessAsync({ from: matcher.address });
 | 
			
		||||
            await expect(tx).to.revertWith(expectedError);
 | 
			
		||||
            tx = deployment.exchange
 | 
			
		||||
                .batchMatchOrdersWithMaximalFill(leftOrders, rightOrders, leftOrders.map(order => order.signature), [
 | 
			
		||||
                    rightOrders[0].signature,
 | 
			
		||||
                ])
 | 
			
		||||
                .awaitTransactionSuccessAsync({ from: matcher.address });
 | 
			
		||||
            return expect(tx).to.revertWith(expectedError);
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    interface TestBatchMatchOrdersArgs {
 | 
			
		||||
        leftOrders: Array<Partial<Order>>;
 | 
			
		||||
        rightOrders: Array<Partial<Order>>;
 | 
			
		||||
        expectedTransferAmounts: Array<Partial<MatchTransferAmounts>>;
 | 
			
		||||
        leftOrdersTakerAssetFilledAmounts: BigNumber[];
 | 
			
		||||
        rightOrdersTakerAssetFilledAmounts: BigNumber[];
 | 
			
		||||
        matchIndices: Array<[number, number]>;
 | 
			
		||||
        shouldMaximallyFill: boolean;
 | 
			
		||||
        matcherAddress?: string;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Tests a batch order matching scenario with both eth and weth protocol fees.
 | 
			
		||||
     */
 | 
			
		||||
    async function testBatchMatchOrdersAsync(args: TestBatchMatchOrdersArgs): Promise<void> {
 | 
			
		||||
        const signedLeftOrders = await Promise.all(args.leftOrders.map(async order => makerLeft.signOrderAsync(order)));
 | 
			
		||||
        const signedRightOrders = await Promise.all(
 | 
			
		||||
            args.rightOrders.map(async order => makerRight.signOrderAsync(order)),
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        await matchOrderTester.batchMatchOrdersAndAssertEffectsAsync(
 | 
			
		||||
            {
 | 
			
		||||
                leftOrders: signedLeftOrders,
 | 
			
		||||
                rightOrders: signedRightOrders,
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: args.leftOrdersTakerAssetFilledAmounts,
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: args.rightOrdersTakerAssetFilledAmounts,
 | 
			
		||||
            },
 | 
			
		||||
            args.matcherAddress || matcher.address,
 | 
			
		||||
            DeploymentManager.protocolFee.times(args.matchIndices.length).times(2),
 | 
			
		||||
            args.matchIndices,
 | 
			
		||||
            args.expectedTransferAmounts.map(transferAmounts => {
 | 
			
		||||
                return {
 | 
			
		||||
                    ...transferAmounts,
 | 
			
		||||
                    leftProtocolFeePaidByTakerInEthAmount: DeploymentManager.protocolFee,
 | 
			
		||||
                    rightProtocolFeePaidByTakerInEthAmount: DeploymentManager.protocolFee,
 | 
			
		||||
                    leftProtocolFeePaidByTakerInWethAmount: constants.ZERO_AMOUNT,
 | 
			
		||||
                    rightProtocolFeePaidByTakerInWethAmount: constants.ZERO_AMOUNT,
 | 
			
		||||
                };
 | 
			
		||||
            }),
 | 
			
		||||
            args.shouldMaximallyFill,
 | 
			
		||||
        );
 | 
			
		||||
 | 
			
		||||
        await env.blockchainLifecycle.revertAsync();
 | 
			
		||||
        await env.blockchainLifecycle.startAsync();
 | 
			
		||||
 | 
			
		||||
        await matchOrderTester.batchMatchOrdersAndAssertEffectsAsync(
 | 
			
		||||
            {
 | 
			
		||||
                leftOrders: signedLeftOrders,
 | 
			
		||||
                rightOrders: signedRightOrders,
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: args.leftOrdersTakerAssetFilledAmounts,
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: args.rightOrdersTakerAssetFilledAmounts,
 | 
			
		||||
            },
 | 
			
		||||
            args.matcherAddress || matcher.address,
 | 
			
		||||
            constants.ZERO_AMOUNT,
 | 
			
		||||
            args.matchIndices,
 | 
			
		||||
            args.expectedTransferAmounts.map(transferAmounts => {
 | 
			
		||||
                return {
 | 
			
		||||
                    ...transferAmounts,
 | 
			
		||||
                    leftProtocolFeePaidByTakerInEthAmount: constants.ZERO_AMOUNT,
 | 
			
		||||
                    rightProtocolFeePaidByTakerInEthAmount: constants.ZERO_AMOUNT,
 | 
			
		||||
                    leftProtocolFeePaidByTakerInWethAmount: DeploymentManager.protocolFee,
 | 
			
		||||
                    rightProtocolFeePaidByTakerInWethAmount: DeploymentManager.protocolFee,
 | 
			
		||||
                };
 | 
			
		||||
            }),
 | 
			
		||||
            args.shouldMaximallyFill,
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    describe('batchMatchOrders', () => {
 | 
			
		||||
        it('should correctly match two opposite orders', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0]],
 | 
			
		||||
                shouldMaximallyFill: false,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should correctly match a partial fill', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(4),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0]],
 | 
			
		||||
                shouldMaximallyFill: false,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should correctly match two left orders to one complementary right order', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(4),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        leftMakerAssetBoughtByRightMakerAmount: new BigNumber(2),
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 50%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 50%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        leftMakerAssetBoughtByRightMakerAmount: new BigNumber(2),
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 50%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT, constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0], [1, 0]],
 | 
			
		||||
                shouldMaximallyFill: false,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should correctly match one left order to two complementary right orders', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(4),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT, constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0], [0, 1]],
 | 
			
		||||
                shouldMaximallyFill: false,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should correctly match one left order to two right orders, where the last should not be touched', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT, constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0]],
 | 
			
		||||
                shouldMaximallyFill: false,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should have three order matchings with only two left orders and two right orders', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(4),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(4),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(50, 16), // 50%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT, constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT, constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0], [0, 1], [1, 1]],
 | 
			
		||||
                shouldMaximallyFill: false,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    describe('batchMatchOrdersWithMaximalFill', () => {
 | 
			
		||||
        it('should fully fill the the right order and pay the profit denominated in the left maker asset', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(17),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(98),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(75),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(13),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(13),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount('76.4705882352941176', 16), // 76.47%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(75),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount('76.5306122448979591', 16), // 76.53%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0]],
 | 
			
		||||
                shouldMaximallyFill: true,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should transfer correct amounts when left order is fully filled', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(15),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(90),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(196),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(28),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(15),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        rightMakerAssetBoughtByLeftMakerAmount: new BigNumber(90),
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        leftMakerAssetBoughtByRightMakerAmount: new BigNumber(15),
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(105),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount('53.5714285714285714', 16), // 53.57%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        rightMakerAssetReceivedByTakerAmount: new BigNumber(15),
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount('53.5714285714285714', 16), // 53.57%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0]],
 | 
			
		||||
                shouldMaximallyFill: true,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should correctly match one left order to two right orders, where the last should not be touched', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(2),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT, constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0]],
 | 
			
		||||
                shouldMaximallyFill: true,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        it('should correctly fill all four orders in three matches', async () => {
 | 
			
		||||
            await testBatchMatchOrdersAsync({
 | 
			
		||||
                leftOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(2),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(72),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(36),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                rightOrders: [
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(15),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(30),
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        makerAssetAmount: new BigNumber(22),
 | 
			
		||||
                        takerAssetAmount: new BigNumber(44),
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                expectedTransferAmounts: [
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(2),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount('6.6666666666666666', 16), // 6.66%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount('6.6666666666666666', 16), // 6.66%
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(28),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount('38.8888888888888888', 16), // 38.88%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(14),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount('93.3333333333333333', 16), // 93.33%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount('38.8888888888888888', 16), // 38.88%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount('93.3333333333333333', 16), // 93.33%
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        // Left Maker
 | 
			
		||||
                        leftMakerAssetSoldByLeftMakerAmount: new BigNumber(44),
 | 
			
		||||
                        leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount('61.1111111111111111', 16), // 61.11%
 | 
			
		||||
                        // Right Maker
 | 
			
		||||
                        rightMakerAssetSoldByRightMakerAmount: new BigNumber(22),
 | 
			
		||||
                        rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                        // Taker
 | 
			
		||||
                        leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount('61.1111111111111111', 16), // 61.11%
 | 
			
		||||
                        rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
                leftOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT, constants.ZERO_AMOUNT],
 | 
			
		||||
                rightOrdersTakerAssetFilledAmounts: [constants.ZERO_AMOUNT, constants.ZERO_AMOUNT],
 | 
			
		||||
                matchIndices: [[0, 0], [1, 0], [1, 1]],
 | 
			
		||||
                shouldMaximallyFill: true,
 | 
			
		||||
            });
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    describe('token sanity checks', () => {
 | 
			
		||||
        it('should be able to match ERC721 tokens with ERC1155 tokens', async () => {
 | 
			
		||||
            const leftMakerAssetData = deployment.assetDataEncoder
 | 
			
		||||
                .ERC1155Assets(deployment.tokens.erc1155[0].address, [leftId], [new BigNumber(1)], '0x')
 | 
			
		||||
                .getABIEncodedTransactionData();
 | 
			
		||||
            const rightMakerAssetData = deployment.assetDataEncoder
 | 
			
		||||
                .ERC721Token(deployment.tokens.erc721[0].address, rightId)
 | 
			
		||||
                .getABIEncodedTransactionData();
 | 
			
		||||
 | 
			
		||||
            const signedOrderLeft = await makerLeft.signOrderAsync({
 | 
			
		||||
                makerAssetAmount: new BigNumber(4),
 | 
			
		||||
                takerAssetAmount: new BigNumber(1),
 | 
			
		||||
                makerAssetData: leftMakerAssetData,
 | 
			
		||||
                takerAssetData: rightMakerAssetData,
 | 
			
		||||
            });
 | 
			
		||||
            const signedOrderRight = await makerRight.signOrderAsync({
 | 
			
		||||
                makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                takerAssetAmount: new BigNumber(4),
 | 
			
		||||
                makerAssetData: rightMakerAssetData,
 | 
			
		||||
                takerAssetData: leftMakerAssetData,
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            const expectedTransferAmounts = {
 | 
			
		||||
                // Left Maker
 | 
			
		||||
                leftMakerAssetSoldByLeftMakerAmount: new BigNumber(4),
 | 
			
		||||
                leftMakerFeeAssetPaidByLeftMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                // Right Maker
 | 
			
		||||
                rightMakerAssetSoldByRightMakerAmount: new BigNumber(1),
 | 
			
		||||
                rightMakerFeeAssetPaidByRightMakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                // Taker
 | 
			
		||||
                leftTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                rightTakerFeeAssetPaidByTakerAmount: toBaseUnitAmount(100, 16), // 100%
 | 
			
		||||
                leftProtocolFeePaidByTakerInEthAmount: DeploymentManager.protocolFee,
 | 
			
		||||
                rightProtocolFeePaidByTakerInEthAmount: DeploymentManager.protocolFee,
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            await matchOrderTester.matchOrdersAndAssertEffectsAsync(
 | 
			
		||||
                {
 | 
			
		||||
                    leftOrder: signedOrderLeft,
 | 
			
		||||
                    rightOrder: signedOrderRight,
 | 
			
		||||
                },
 | 
			
		||||
                expectedTransferAmounts,
 | 
			
		||||
                matcher.address,
 | 
			
		||||
                DeploymentManager.protocolFee.times(2),
 | 
			
		||||
                false,
 | 
			
		||||
            );
 | 
			
		||||
        });
 | 
			
		||||
    });
 | 
			
		||||
});
 | 
			
		||||
// tslint:disable-line:max-file-line-count
 | 
			
		||||
@@ -1,5 +1,4 @@
 | 
			
		||||
import { DevUtilsContract } from '@0x/contracts-dev-utils';
 | 
			
		||||
import { ERC20TokenEvents, ERC20TokenTransferEventArgs } from '@0x/contracts-erc20';
 | 
			
		||||
import { DummyERC20TokenContract, ERC20TokenEvents, ERC20TokenTransferEventArgs } from '@0x/contracts-erc20';
 | 
			
		||||
import { ExchangeRevertErrors, IExchangeEvents, IExchangeFillEventArgs } from '@0x/contracts-exchange';
 | 
			
		||||
import { ReferenceFunctions } from '@0x/contracts-exchange-libs';
 | 
			
		||||
import {
 | 
			
		||||
@@ -10,7 +9,6 @@ import {
 | 
			
		||||
    getLatestBlockTimestampAsync,
 | 
			
		||||
    Numberish,
 | 
			
		||||
    orderHashUtils,
 | 
			
		||||
    provider,
 | 
			
		||||
    toBaseUnitAmount,
 | 
			
		||||
    verifyEvents,
 | 
			
		||||
} from '@0x/contracts-test-utils';
 | 
			
		||||
@@ -27,13 +25,16 @@ import { DeploymentManager } from '../framework/deployment_manager';
 | 
			
		||||
 | 
			
		||||
const { addFillResults, safeGetPartialAmountFloor } = ReferenceFunctions;
 | 
			
		||||
 | 
			
		||||
const devUtils = new DevUtilsContract(constants.NULL_ADDRESS, provider);
 | 
			
		||||
// tslint:disable:no-unnecessary-type-assertion
 | 
			
		||||
blockchainTests.resets('Exchange wrappers', env => {
 | 
			
		||||
    let maker: Maker;
 | 
			
		||||
    let taker: Actor;
 | 
			
		||||
    let feeRecipient: string;
 | 
			
		||||
 | 
			
		||||
    let makerToken: DummyERC20TokenContract;
 | 
			
		||||
    let takerToken: DummyERC20TokenContract;
 | 
			
		||||
    let feeToken: DummyERC20TokenContract;
 | 
			
		||||
 | 
			
		||||
    const nullFillResults: FillResults = {
 | 
			
		||||
        makerAssetFilledAmount: constants.ZERO_AMOUNT,
 | 
			
		||||
        takerAssetFilledAmount: constants.ZERO_AMOUNT,
 | 
			
		||||
@@ -58,14 +59,24 @@ blockchainTests.resets('Exchange wrappers', env => {
 | 
			
		||||
            numErc1155TokensToDeploy: 0,
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        [makerToken, takerToken, feeToken] = deployment.tokens.erc20;
 | 
			
		||||
 | 
			
		||||
        maker = new Maker({
 | 
			
		||||
            name: 'market maker',
 | 
			
		||||
            deployment,
 | 
			
		||||
            orderConfig: {
 | 
			
		||||
                makerAssetData: await devUtils.encodeERC20AssetData(deployment.tokens.erc20[0].address).callAsync(),
 | 
			
		||||
                takerAssetData: await devUtils.encodeERC20AssetData(deployment.tokens.erc20[1].address).callAsync(),
 | 
			
		||||
                makerFeeAssetData: await devUtils.encodeERC20AssetData(deployment.tokens.erc20[2].address).callAsync(),
 | 
			
		||||
                takerFeeAssetData: await devUtils.encodeERC20AssetData(deployment.tokens.erc20[2].address).callAsync(),
 | 
			
		||||
                makerAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(makerToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                takerAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(takerToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                makerFeeAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(feeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                takerFeeAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(feeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                feeRecipientAddress: feeRecipient,
 | 
			
		||||
            },
 | 
			
		||||
        });
 | 
			
		||||
@@ -90,9 +101,9 @@ blockchainTests.resets('Exchange wrappers', env => {
 | 
			
		||||
            },
 | 
			
		||||
            {
 | 
			
		||||
                erc20: {
 | 
			
		||||
                    makerAsset: deployment.tokens.erc20[0],
 | 
			
		||||
                    takerAsset: deployment.tokens.erc20[1],
 | 
			
		||||
                    feeAsset: deployment.tokens.erc20[2],
 | 
			
		||||
                    makerToken,
 | 
			
		||||
                    takerToken,
 | 
			
		||||
                    feeToken,
 | 
			
		||||
                    weth: deployment.tokens.weth,
 | 
			
		||||
                },
 | 
			
		||||
            },
 | 
			
		||||
@@ -101,13 +112,19 @@ blockchainTests.resets('Exchange wrappers', env => {
 | 
			
		||||
 | 
			
		||||
        await blockchainBalances.updateBalancesAsync();
 | 
			
		||||
 | 
			
		||||
        initialLocalBalances = LocalBalanceStore.create(devUtils, blockchainBalances);
 | 
			
		||||
        initialLocalBalances = LocalBalanceStore.create(deployment.devUtils, blockchainBalances);
 | 
			
		||||
 | 
			
		||||
        wethAssetData = await devUtils.encodeERC20AssetData(deployment.tokens.weth.address).callAsync();
 | 
			
		||||
        wethAssetData = deployment.assetDataEncoder
 | 
			
		||||
            .ERC20Token(deployment.tokens.weth.address)
 | 
			
		||||
            .getABIEncodedTransactionData();
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    beforeEach(async () => {
 | 
			
		||||
        localBalances = LocalBalanceStore.create(devUtils, initialLocalBalances);
 | 
			
		||||
        localBalances = LocalBalanceStore.create(deployment.devUtils, initialLocalBalances);
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    after(async () => {
 | 
			
		||||
        Actor.count = 0;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    interface SignedOrderWithValidity {
 | 
			
		||||
@@ -775,9 +792,9 @@ blockchainTests.resets('Exchange wrappers', env => {
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            it('should fill a signedOrder that does not use the same takerAssetAddress (eth protocol fee)', async () => {
 | 
			
		||||
                const differentTakerAssetData = await devUtils
 | 
			
		||||
                    .encodeERC20AssetData(deployment.tokens.erc20[2].address)
 | 
			
		||||
                    .callAsync();
 | 
			
		||||
                const differentTakerAssetData = deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(feeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData();
 | 
			
		||||
 | 
			
		||||
                signedOrders = [
 | 
			
		||||
                    await maker.signOrderAsync(),
 | 
			
		||||
@@ -798,9 +815,9 @@ blockchainTests.resets('Exchange wrappers', env => {
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            it('should fill a signedOrder that does not use the same takerAssetAddress (weth protocol fee)', async () => {
 | 
			
		||||
                const differentTakerAssetData = await devUtils
 | 
			
		||||
                    .encodeERC20AssetData(deployment.tokens.erc20[2].address)
 | 
			
		||||
                    .callAsync();
 | 
			
		||||
                const differentTakerAssetData = deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(feeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData();
 | 
			
		||||
 | 
			
		||||
                signedOrders = [
 | 
			
		||||
                    await maker.signOrderAsync(),
 | 
			
		||||
@@ -973,9 +990,9 @@ blockchainTests.resets('Exchange wrappers', env => {
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            it('should fill a signedOrder that does not use the same makerAssetAddress (eth protocol fee)', async () => {
 | 
			
		||||
                const differentMakerAssetData = await devUtils
 | 
			
		||||
                    .encodeERC20AssetData(deployment.tokens.erc20[2].address)
 | 
			
		||||
                    .callAsync();
 | 
			
		||||
                const differentMakerAssetData = deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(feeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData();
 | 
			
		||||
 | 
			
		||||
                signedOrders = [
 | 
			
		||||
                    await maker.signOrderAsync(),
 | 
			
		||||
@@ -997,9 +1014,9 @@ blockchainTests.resets('Exchange wrappers', env => {
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
            it('should fill a signedOrder that does not use the same makerAssetAddress (weth protocol fee)', async () => {
 | 
			
		||||
                const differentMakerAssetData = await devUtils
 | 
			
		||||
                    .encodeERC20AssetData(deployment.tokens.erc20[2].address)
 | 
			
		||||
                    .callAsync();
 | 
			
		||||
                const differentMakerAssetData = deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(feeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData();
 | 
			
		||||
 | 
			
		||||
                signedOrders = [
 | 
			
		||||
                    await maker.signOrderAsync(),
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,3 @@
 | 
			
		||||
import { DevUtilsContract } from '@0x/contracts-dev-utils';
 | 
			
		||||
import { ERC20TokenEvents, ERC20TokenTransferEventArgs } from '@0x/contracts-erc20';
 | 
			
		||||
import { ExchangeEvents, ExchangeFillEventArgs } from '@0x/contracts-exchange';
 | 
			
		||||
import { ReferenceFunctions } from '@0x/contracts-exchange-libs';
 | 
			
		||||
@@ -15,7 +14,6 @@ import {
 | 
			
		||||
    constants,
 | 
			
		||||
    expect,
 | 
			
		||||
    orderHashUtils,
 | 
			
		||||
    provider,
 | 
			
		||||
    toBaseUnitAmount,
 | 
			
		||||
    verifyEvents,
 | 
			
		||||
} from '@0x/contracts-test-utils';
 | 
			
		||||
@@ -23,6 +21,7 @@ import { SignedOrder } from '@0x/types';
 | 
			
		||||
import { BigNumber } from '@0x/utils';
 | 
			
		||||
import { TransactionReceiptWithDecodedLogs } from 'ethereum-types';
 | 
			
		||||
 | 
			
		||||
import { Actor } from '../framework/actors/base';
 | 
			
		||||
import { FeeRecipient } from '../framework/actors/fee_recipient';
 | 
			
		||||
import { OperatorStakerMaker, StakerKeeper } from '../framework/actors/hybrids';
 | 
			
		||||
import { Maker } from '../framework/actors/maker';
 | 
			
		||||
@@ -32,7 +31,6 @@ import { BlockchainBalanceStore } from '../framework/balances/blockchain_balance
 | 
			
		||||
import { LocalBalanceStore } from '../framework/balances/local_balance_store';
 | 
			
		||||
import { DeploymentManager } from '../framework/deployment_manager';
 | 
			
		||||
 | 
			
		||||
const devUtils = new DevUtilsContract(constants.NULL_ADDRESS, provider);
 | 
			
		||||
blockchainTests.resets('fillOrder integration tests', env => {
 | 
			
		||||
    let deployment: DeploymentManager;
 | 
			
		||||
    let balanceStore: BlockchainBalanceStore;
 | 
			
		||||
@@ -60,10 +58,14 @@ blockchainTests.resets('fillOrder integration tests', env => {
 | 
			
		||||
        });
 | 
			
		||||
        const orderConfig = {
 | 
			
		||||
            feeRecipientAddress: feeRecipient.address,
 | 
			
		||||
            makerAssetData: await devUtils.encodeERC20AssetData(makerToken.address).callAsync(),
 | 
			
		||||
            takerAssetData: await devUtils.encodeERC20AssetData(takerToken.address).callAsync(),
 | 
			
		||||
            makerFeeAssetData: await devUtils.encodeERC20AssetData(makerToken.address).callAsync(),
 | 
			
		||||
            takerFeeAssetData: await devUtils.encodeERC20AssetData(takerToken.address).callAsync(),
 | 
			
		||||
            makerAssetData: deployment.assetDataEncoder.ERC20Token(makerToken.address).getABIEncodedTransactionData(),
 | 
			
		||||
            takerAssetData: deployment.assetDataEncoder.ERC20Token(takerToken.address).getABIEncodedTransactionData(),
 | 
			
		||||
            makerFeeAssetData: deployment.assetDataEncoder
 | 
			
		||||
                .ERC20Token(makerToken.address)
 | 
			
		||||
                .getABIEncodedTransactionData(),
 | 
			
		||||
            takerFeeAssetData: deployment.assetDataEncoder
 | 
			
		||||
                .ERC20Token(takerToken.address)
 | 
			
		||||
                .getABIEncodedTransactionData(),
 | 
			
		||||
            makerFee: constants.ZERO_AMOUNT,
 | 
			
		||||
            takerFee: constants.ZERO_AMOUNT,
 | 
			
		||||
        };
 | 
			
		||||
@@ -106,13 +108,17 @@ blockchainTests.resets('fillOrder integration tests', env => {
 | 
			
		||||
        await balanceStore.updateBalancesAsync();
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    after(async () => {
 | 
			
		||||
        Actor.count = 0;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    async function simulateFillAsync(
 | 
			
		||||
        order: SignedOrder,
 | 
			
		||||
        txReceipt: TransactionReceiptWithDecodedLogs,
 | 
			
		||||
        msgValue?: BigNumber,
 | 
			
		||||
    ): Promise<LocalBalanceStore> {
 | 
			
		||||
        let remainingValue = msgValue !== undefined ? msgValue : DeploymentManager.protocolFee;
 | 
			
		||||
        const localBalanceStore = LocalBalanceStore.create(devUtils, balanceStore);
 | 
			
		||||
        const localBalanceStore = LocalBalanceStore.create(deployment.devUtils, balanceStore);
 | 
			
		||||
        // Transaction gas cost
 | 
			
		||||
        localBalanceStore.burnGas(txReceipt.from, DeploymentManager.gasPrice.times(txReceipt.gasUsed));
 | 
			
		||||
 | 
			
		||||
@@ -144,7 +150,7 @@ blockchainTests.resets('fillOrder integration tests', env => {
 | 
			
		||||
                taker.address,
 | 
			
		||||
                deployment.staking.stakingProxy.address,
 | 
			
		||||
                DeploymentManager.protocolFee,
 | 
			
		||||
                await devUtils.encodeERC20AssetData(deployment.tokens.weth.address).callAsync(),
 | 
			
		||||
                deployment.assetDataEncoder.ERC20Token(deployment.tokens.weth.address).getABIEncodedTransactionData(),
 | 
			
		||||
            );
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@@ -260,7 +266,7 @@ blockchainTests.resets('fillOrder integration tests', env => {
 | 
			
		||||
 | 
			
		||||
        // Fetch the current balances
 | 
			
		||||
        await balanceStore.updateBalancesAsync();
 | 
			
		||||
        const expectedBalances = LocalBalanceStore.create(devUtils, balanceStore);
 | 
			
		||||
        const expectedBalances = LocalBalanceStore.create(deployment.devUtils, balanceStore);
 | 
			
		||||
 | 
			
		||||
        // End the epoch. This should wrap the staking proxy's ETH balance.
 | 
			
		||||
        const endEpochReceipt = await delegator.endEpochAsync();
 | 
			
		||||
@@ -308,7 +314,7 @@ blockchainTests.resets('fillOrder integration tests', env => {
 | 
			
		||||
            deployment.staking.stakingProxy.address,
 | 
			
		||||
            operator.address,
 | 
			
		||||
            operatorReward,
 | 
			
		||||
            await devUtils.encodeERC20AssetData(deployment.tokens.weth.address).callAsync(),
 | 
			
		||||
            deployment.assetDataEncoder.ERC20Token(deployment.tokens.weth.address).getABIEncodedTransactionData(),
 | 
			
		||||
        );
 | 
			
		||||
        expectedBalances.burnGas(delegator.address, DeploymentManager.gasPrice.times(finalizePoolReceipt.gasUsed));
 | 
			
		||||
        await balanceStore.updateBalancesAsync();
 | 
			
		||||
@@ -390,7 +396,7 @@ blockchainTests.resets('fillOrder integration tests', env => {
 | 
			
		||||
            deployment.staking.stakingProxy.address,
 | 
			
		||||
            operator.address,
 | 
			
		||||
            operatorReward,
 | 
			
		||||
            await devUtils.encodeERC20AssetData(deployment.tokens.weth.address).callAsync(),
 | 
			
		||||
            deployment.assetDataEncoder.ERC20Token(deployment.tokens.weth.address).getABIEncodedTransactionData(),
 | 
			
		||||
        );
 | 
			
		||||
        expectedBalances.burnGas(delegator.address, DeploymentManager.gasPrice.times(finalizePoolReceipt.gasUsed));
 | 
			
		||||
        await balanceStore.updateBalancesAsync();
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1005
									
								
								contracts/integrations/test/exchange/match_order_tester.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1005
									
								
								contracts/integrations/test/exchange/match_order_tester.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1090
									
								
								contracts/integrations/test/exchange/match_orders_test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1090
									
								
								contracts/integrations/test/exchange/match_orders_test.ts
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,7 +1,6 @@
 | 
			
		||||
import { artifacts as exchangeArtifacts } from '@0x/contracts-exchange';
 | 
			
		||||
import { artifacts, ForwarderContract } from '@0x/contracts-exchange-forwarder';
 | 
			
		||||
import { BlockchainTestsEnvironment } from '@0x/contracts-test-utils';
 | 
			
		||||
import { assetDataUtils } from '@0x/order-utils';
 | 
			
		||||
 | 
			
		||||
import { DeploymentManager } from '../framework/deployment_manager';
 | 
			
		||||
 | 
			
		||||
@@ -18,6 +17,6 @@ export async function deployForwarderAsync(
 | 
			
		||||
        deployment.txDefaults,
 | 
			
		||||
        { ...exchangeArtifacts, ...artifacts },
 | 
			
		||||
        deployment.exchange.address,
 | 
			
		||||
        assetDataUtils.encodeERC20AssetData(deployment.tokens.weth.address),
 | 
			
		||||
        deployment.assetDataEncoder.ERC20Token(deployment.tokens.weth.address).getABIEncodedTransactionData(),
 | 
			
		||||
    );
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,7 @@ import {
 | 
			
		||||
} from '@0x/contracts-test-utils';
 | 
			
		||||
import { BigNumber } from '@0x/utils';
 | 
			
		||||
 | 
			
		||||
import { Actor } from '../framework/actors/base';
 | 
			
		||||
import { FeeRecipient } from '../framework/actors/fee_recipient';
 | 
			
		||||
import { Maker } from '../framework/actors/maker';
 | 
			
		||||
import { Taker } from '../framework/actors/taker';
 | 
			
		||||
@@ -56,8 +57,10 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
 | 
			
		||||
        [makerToken, makerFeeToken, anotherErc20Token] = deployment.tokens.erc20;
 | 
			
		||||
        [erc721Token] = deployment.tokens.erc721;
 | 
			
		||||
        wethAssetData = await devUtils.encodeERC20AssetData(deployment.tokens.weth.address).callAsync();
 | 
			
		||||
        makerAssetData = await devUtils.encodeERC20AssetData(makerToken.address).callAsync();
 | 
			
		||||
        wethAssetData = deployment.assetDataEncoder
 | 
			
		||||
            .ERC20Token(deployment.tokens.weth.address)
 | 
			
		||||
            .getABIEncodedTransactionData();
 | 
			
		||||
        makerAssetData = deployment.assetDataEncoder.ERC20Token(makerToken.address).getABIEncodedTransactionData();
 | 
			
		||||
 | 
			
		||||
        taker = new Taker({ name: 'Taker', deployment });
 | 
			
		||||
        orderFeeRecipient = new FeeRecipient({
 | 
			
		||||
@@ -78,7 +81,9 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
                makerAssetData,
 | 
			
		||||
                takerAssetData: wethAssetData,
 | 
			
		||||
                takerFee: constants.ZERO_AMOUNT,
 | 
			
		||||
                makerFeeAssetData: await devUtils.encodeERC20AssetData(makerFeeToken.address).callAsync(),
 | 
			
		||||
                makerFeeAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC20Token(makerFeeToken.address)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                takerFeeAssetData: wethAssetData,
 | 
			
		||||
            },
 | 
			
		||||
        });
 | 
			
		||||
@@ -113,6 +118,10 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
        );
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    after(async () => {
 | 
			
		||||
        Actor.count = 0;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    blockchainTests.resets('constructor', () => {
 | 
			
		||||
        it('should revert if assetProxy is unregistered', async () => {
 | 
			
		||||
            const chainId = await env.getChainIdAsync();
 | 
			
		||||
@@ -170,7 +179,9 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
            await testFactory.marketSellTestAsync(orders, 1.34);
 | 
			
		||||
        });
 | 
			
		||||
        it('should fail to fill an order with a percentage fee if the asset proxy is not yet approved', async () => {
 | 
			
		||||
            const unapprovedAsset = await devUtils.encodeERC20AssetData(anotherErc20Token.address).callAsync();
 | 
			
		||||
            const unapprovedAsset = deployment.assetDataEncoder
 | 
			
		||||
                .ERC20Token(anotherErc20Token.address)
 | 
			
		||||
                .getABIEncodedTransactionData();
 | 
			
		||||
            const order = await maker.signOrderAsync({
 | 
			
		||||
                makerAssetData: unapprovedAsset,
 | 
			
		||||
                takerFee: toBaseUnitAmount(2),
 | 
			
		||||
@@ -242,9 +253,9 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
        });
 | 
			
		||||
        it('should fill orders with different makerAssetData', async () => {
 | 
			
		||||
            const firstOrder = await maker.signOrderAsync();
 | 
			
		||||
            const secondOrderMakerAssetData = await devUtils
 | 
			
		||||
                .encodeERC20AssetData(anotherErc20Token.address)
 | 
			
		||||
                .callAsync();
 | 
			
		||||
            const secondOrderMakerAssetData = deployment.assetDataEncoder
 | 
			
		||||
                .ERC20Token(anotherErc20Token.address)
 | 
			
		||||
                .getABIEncodedTransactionData();
 | 
			
		||||
            const secondOrder = await maker.signOrderAsync({
 | 
			
		||||
                makerAssetData: secondOrderMakerAssetData,
 | 
			
		||||
            });
 | 
			
		||||
@@ -253,7 +264,9 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
            await testFactory.marketSellTestAsync(orders, 1.5);
 | 
			
		||||
        });
 | 
			
		||||
        it('should fail to fill an order with a fee denominated in an asset other than makerAsset or WETH', async () => {
 | 
			
		||||
            const takerFeeAssetData = await devUtils.encodeERC20AssetData(anotherErc20Token.address).callAsync();
 | 
			
		||||
            const takerFeeAssetData = deployment.assetDataEncoder
 | 
			
		||||
                .ERC20Token(anotherErc20Token.address)
 | 
			
		||||
                .getABIEncodedTransactionData();
 | 
			
		||||
            const order = await maker.signOrderAsync({
 | 
			
		||||
                takerFeeAssetData,
 | 
			
		||||
                takerFee: toBaseUnitAmount(1),
 | 
			
		||||
@@ -344,9 +357,9 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
        });
 | 
			
		||||
        it('should buy exactly makerAssetBuyAmount in orders with different makerAssetData', async () => {
 | 
			
		||||
            const firstOrder = await maker.signOrderAsync();
 | 
			
		||||
            const secondOrderMakerAssetData = await devUtils
 | 
			
		||||
                .encodeERC20AssetData(anotherErc20Token.address)
 | 
			
		||||
                .callAsync();
 | 
			
		||||
            const secondOrderMakerAssetData = deployment.assetDataEncoder
 | 
			
		||||
                .ERC20Token(anotherErc20Token.address)
 | 
			
		||||
                .getABIEncodedTransactionData();
 | 
			
		||||
            const secondOrder = await maker.signOrderAsync({
 | 
			
		||||
                makerAssetData: secondOrderMakerAssetData,
 | 
			
		||||
            });
 | 
			
		||||
@@ -395,7 +408,9 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
        it('should buy an ERC721 asset from a single order', async () => {
 | 
			
		||||
            const erc721Order = await maker.signOrderAsync({
 | 
			
		||||
                makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                makerAssetData: await devUtils.encodeERC721AssetData(erc721Token.address, nftId).callAsync(),
 | 
			
		||||
                makerAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC721Token(erc721Token.address, nftId)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                takerFeeAssetData: wethAssetData,
 | 
			
		||||
            });
 | 
			
		||||
            await testFactory.marketBuyTestAsync([erc721Order], 1);
 | 
			
		||||
@@ -403,14 +418,18 @@ blockchainTests('Forwarder integration tests', env => {
 | 
			
		||||
        it('should buy an ERC721 asset and pay a WETH fee', async () => {
 | 
			
		||||
            const erc721orderWithWethFee = await maker.signOrderAsync({
 | 
			
		||||
                makerAssetAmount: new BigNumber(1),
 | 
			
		||||
                makerAssetData: await devUtils.encodeERC721AssetData(erc721Token.address, nftId).callAsync(),
 | 
			
		||||
                makerAssetData: deployment.assetDataEncoder
 | 
			
		||||
                    .ERC721Token(erc721Token.address, nftId)
 | 
			
		||||
                    .getABIEncodedTransactionData(),
 | 
			
		||||
                takerFee: toBaseUnitAmount(1),
 | 
			
		||||
                takerFeeAssetData: wethAssetData,
 | 
			
		||||
            });
 | 
			
		||||
            await testFactory.marketBuyTestAsync([erc721orderWithWethFee], 1);
 | 
			
		||||
        });
 | 
			
		||||
        it('should fail to fill an order with a fee denominated in an asset other than makerAsset or WETH', async () => {
 | 
			
		||||
            const takerFeeAssetData = await devUtils.encodeERC20AssetData(anotherErc20Token.address).callAsync();
 | 
			
		||||
            const takerFeeAssetData = deployment.assetDataEncoder
 | 
			
		||||
                .ERC20Token(anotherErc20Token.address)
 | 
			
		||||
                .getABIEncodedTransactionData();
 | 
			
		||||
            const order = await maker.signOrderAsync({
 | 
			
		||||
                takerFeeAssetData,
 | 
			
		||||
                takerFee: toBaseUnitAmount(1),
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
import { ERC1155MintableContract, ERC1155TransferSingleEventArgs } from '@0x/contracts-erc1155';
 | 
			
		||||
import { DummyERC20TokenContract, WETH9Contract } from '@0x/contracts-erc20';
 | 
			
		||||
import { DummyERC721TokenContract } from '@0x/contracts-erc721';
 | 
			
		||||
import { constants, getRandomInteger, TransactionFactory } from '@0x/contracts-test-utils';
 | 
			
		||||
import { constants, filterLogsToArguments, getRandomInteger, TransactionFactory } from '@0x/contracts-test-utils';
 | 
			
		||||
import { SignatureType, SignedZeroExTransaction, ZeroExTransaction } from '@0x/types';
 | 
			
		||||
import { BigNumber } from '@0x/utils';
 | 
			
		||||
import * as _ from 'lodash';
 | 
			
		||||
@@ -32,6 +33,12 @@ export class Actor {
 | 
			
		||||
 | 
			
		||||
    constructor(config: ActorConfig) {
 | 
			
		||||
        Actor.count++;
 | 
			
		||||
 | 
			
		||||
        // Emit an error if the actor count is too high.
 | 
			
		||||
        if (Actor.count >= config.deployment.accounts.length) {
 | 
			
		||||
            throw new Error('Actor count too large');
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        this.address = config.deployment.accounts[Actor.count];
 | 
			
		||||
        this.name = config.name || this.address;
 | 
			
		||||
        this.deployment = config.deployment;
 | 
			
		||||
@@ -95,6 +102,39 @@ export class Actor {
 | 
			
		||||
        return tokenIds;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Mints some number of ERC1115 fungible tokens and approves a spender (defaults to the ERC1155 asset proxy)
 | 
			
		||||
     * to transfer the token.
 | 
			
		||||
     */
 | 
			
		||||
    public async configureERC1155TokenAsync(
 | 
			
		||||
        token: ERC1155MintableContract,
 | 
			
		||||
        spender?: string,
 | 
			
		||||
        amount?: BigNumber,
 | 
			
		||||
    ): Promise<BigNumber> {
 | 
			
		||||
        // Create a fungible token.
 | 
			
		||||
        const receipt = await token.create('', false).awaitTransactionSuccessAsync({ from: this.address });
 | 
			
		||||
        const logs = filterLogsToArguments<ERC1155TransferSingleEventArgs>(receipt.logs, 'TransferSingle');
 | 
			
		||||
 | 
			
		||||
        // Throw if the wrong number of logs were received.
 | 
			
		||||
        if (logs.length !== 1) {
 | 
			
		||||
            throw new Error('Invalid number of `TransferSingle` logs');
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        const { id } = logs[0];
 | 
			
		||||
 | 
			
		||||
        // Mint the token
 | 
			
		||||
        await token
 | 
			
		||||
            .mintFungible(id, [this.address], [amount || new BigNumber(constants.NUM_ERC1155_FUNGIBLE_TOKENS_MINT)])
 | 
			
		||||
            .awaitTransactionSuccessAsync({ from: this.address });
 | 
			
		||||
 | 
			
		||||
        // Set approval for all token types for the spender.
 | 
			
		||||
        await token
 | 
			
		||||
            .setApprovalForAll(spender || this.deployment.assetProxies.erc1155Proxy.address, true)
 | 
			
		||||
            .awaitTransactionSuccessAsync({ from: this.address });
 | 
			
		||||
 | 
			
		||||
        return id;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Signs a transaction.
 | 
			
		||||
     */
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ export function validStakeAssertion(
 | 
			
		||||
                txData.from as string,
 | 
			
		||||
                zrxVault.address,
 | 
			
		||||
                amount,
 | 
			
		||||
                await deployment.devUtils.encodeERC20AssetData(deployment.tokens.zrx.address).callAsync(),
 | 
			
		||||
                deployment.assetDataEncoder.ERC20Token(deployment.tokens.zrx.address).getABIEncodedTransactionData(),
 | 
			
		||||
            );
 | 
			
		||||
            return expectedBalances;
 | 
			
		||||
        },
 | 
			
		||||
 
 | 
			
		||||
@@ -41,7 +41,7 @@ export function validUnstakeAssertion(
 | 
			
		||||
                zrxVault.address,
 | 
			
		||||
                txData.from as string,
 | 
			
		||||
                amount,
 | 
			
		||||
                await deployment.devUtils.encodeERC20AssetData(deployment.tokens.zrx.address).callAsync(),
 | 
			
		||||
                deployment.assetDataEncoder.ERC20Token(deployment.tokens.zrx.address).getABIEncodedTransactionData(),
 | 
			
		||||
            );
 | 
			
		||||
            return expectedBalances;
 | 
			
		||||
        },
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ import {
 | 
			
		||||
    ERC1155ProxyContract,
 | 
			
		||||
    ERC20ProxyContract,
 | 
			
		||||
    ERC721ProxyContract,
 | 
			
		||||
    IAssetDataContract,
 | 
			
		||||
    MultiAssetProxyContract,
 | 
			
		||||
    StaticCallProxyContract,
 | 
			
		||||
} from '@0x/contracts-asset-proxy';
 | 
			
		||||
@@ -193,7 +194,9 @@ export class DeploymentManager {
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
        const devUtils = new DevUtilsContract(constants.NULL_ADDRESS, environment.provider);
 | 
			
		||||
        const assetDataEncoder = new IAssetDataContract(constants.NULL_ADDRESS, environment.provider);
 | 
			
		||||
 | 
			
		||||
        // Construct the new instance and return it.
 | 
			
		||||
        return new DeploymentManager(
 | 
			
		||||
            assetProxies,
 | 
			
		||||
            governor,
 | 
			
		||||
@@ -204,6 +207,7 @@ export class DeploymentManager {
 | 
			
		||||
            accounts,
 | 
			
		||||
            txDefaults,
 | 
			
		||||
            devUtils,
 | 
			
		||||
            assetDataEncoder,
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -494,6 +498,7 @@ export class DeploymentManager {
 | 
			
		||||
        public accounts: string[],
 | 
			
		||||
        public txDefaults: Partial<TxData>,
 | 
			
		||||
        public devUtils: DevUtilsContract,
 | 
			
		||||
        public assetDataEncoder: IAssetDataContract,
 | 
			
		||||
    ) {}
 | 
			
		||||
}
 | 
			
		||||
// tslint:disable:max-file-line-count
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
import { blockchainTests } from '@0x/contracts-test-utils';
 | 
			
		||||
import * as _ from 'lodash';
 | 
			
		||||
 | 
			
		||||
import { Actor } from '../framework/actors/base';
 | 
			
		||||
import { PoolOperator } from '../framework/actors/pool_operator';
 | 
			
		||||
import { AssertionResult } from '../framework/assertions/function_assertion';
 | 
			
		||||
import { BlockchainBalanceStore } from '../framework/balances/blockchain_balance_store';
 | 
			
		||||
@@ -28,6 +29,10 @@ export class PoolManagementSimulation extends Simulation {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
blockchainTests.skip('Pool management fuzz test', env => {
 | 
			
		||||
    after(async () => {
 | 
			
		||||
        Actor.count = 0;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it('fuzz', async () => {
 | 
			
		||||
        const deployment = await DeploymentManager.deployAsync(env, {
 | 
			
		||||
            numErc20TokensToDeploy: 0,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
import { blockchainTests } from '@0x/contracts-test-utils';
 | 
			
		||||
import * as _ from 'lodash';
 | 
			
		||||
 | 
			
		||||
import { Actor } from '../framework/actors/base';
 | 
			
		||||
import { Staker } from '../framework/actors/staker';
 | 
			
		||||
import { AssertionResult } from '../framework/assertions/function_assertion';
 | 
			
		||||
import { BlockchainBalanceStore } from '../framework/balances/blockchain_balance_store';
 | 
			
		||||
@@ -32,6 +33,10 @@ export class StakeManagementSimulation extends Simulation {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
blockchainTests.skip('Stake management fuzz test', env => {
 | 
			
		||||
    after(async () => {
 | 
			
		||||
        Actor.count = 0;
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
    it('fuzz', async () => {
 | 
			
		||||
        const deployment = await DeploymentManager.deployAsync(env, {
 | 
			
		||||
            numErc20TokensToDeploy: 0,
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.2.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.2.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.2.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.2.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-multisig",
 | 
			
		||||
    "version": "3.2.0-beta.2",
 | 
			
		||||
    "version": "3.2.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -49,14 +49,14 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/multisig/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
@@ -78,7 +78,7 @@
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "ethereum-types": "^2.2.0-beta.2"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,2 +1,2 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "1.1.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "1.1.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v1.1.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v1.1.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ contract MixinDeploymentConstants {
 | 
			
		||||
    // @TODO SET THESE VALUES FOR DEPLOYMENT
 | 
			
		||||
 | 
			
		||||
    // Mainnet ZrxVault address
 | 
			
		||||
    address constant private ZRX_VAULT_ADDRESS = address(0xcE2a4B118813cBfa27Ee11cf8E67B101867fa85E);
 | 
			
		||||
    address constant private ZRX_VAULT_ADDRESS = address(0xBa7f8b5fB1b19c1211c5d49550fcD149177A5Eaf);
 | 
			
		||||
 | 
			
		||||
    // Kovan ZrxVault address
 | 
			
		||||
    // address constant private ZRX_VAULT_ADDRESS = address(0xf36eabdFE986B35b62c8FD5a98A7f2aEBB79B291);
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-staking",
 | 
			
		||||
    "version": "1.1.0-beta.2",
 | 
			
		||||
    "version": "1.1.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -34,7 +34,9 @@
 | 
			
		||||
        "contracts:gen": "contracts-gen generate",
 | 
			
		||||
        "contracts:copy": "contracts-gen copy",
 | 
			
		||||
        "lint-contracts": "solhint -c ../.solhint.json contracts/**/**/**/**/*.sol",
 | 
			
		||||
        "compile:truffle": "truffle compile"
 | 
			
		||||
        "compile:truffle": "truffle compile",
 | 
			
		||||
        "docs:md": "ts-doc-gen --sourceDir='$PROJECT_FILES' --output=$MD_FILE_DIR --fileExtension=mdx --tsconfig=./typedoc-tsconfig.json",
 | 
			
		||||
        "docs:json": "typedoc --excludePrivate --excludeExternals --excludeProtected --ignoreCompilerErrors --target ES5 --tsconfig typedoc-tsconfig.json --json $JSON_FILE_PATH $PROJECT_FILES"
 | 
			
		||||
    },
 | 
			
		||||
    "config": {
 | 
			
		||||
        "publicInterfaceContracts": "IStaking,IStakingEvents,IStakingProxy,IZrxVault,LibStakingRichErrors,Staking,StakingProxy,ZrxVault,TestStaking",
 | 
			
		||||
@@ -51,16 +53,17 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange-libs": "^3.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-utils": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
@@ -80,11 +83,12 @@
 | 
			
		||||
        "solhint": "^1.4.1",
 | 
			
		||||
        "truffle": "^5.0.32",
 | 
			
		||||
        "tslint": "5.11.0",
 | 
			
		||||
        "typedoc": "^0.15.0",
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
        "ethereum-types": "^2.2.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,83 @@
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export {
 | 
			
		||||
    IStakingContract,
 | 
			
		||||
    IStakingEventsContract,
 | 
			
		||||
    IStakingProxyContract,
 | 
			
		||||
    IZrxVaultContract,
 | 
			
		||||
    LibStakingRichErrorsContract,
 | 
			
		||||
    TestStakingContract,
 | 
			
		||||
    ZrxVaultContract,
 | 
			
		||||
    StakingAuthorizedAddressAddedEventArgs,
 | 
			
		||||
    StakingAuthorizedAddressRemovedEventArgs,
 | 
			
		||||
    StakingContract,
 | 
			
		||||
    StakingEpochEndedEventArgs,
 | 
			
		||||
    StakingEpochFinalizedEventArgs,
 | 
			
		||||
    StakingEventArgs,
 | 
			
		||||
    StakingEvents,
 | 
			
		||||
    StakingExchangeAddedEventArgs,
 | 
			
		||||
    StakingExchangeRemovedEventArgs,
 | 
			
		||||
    StakingMakerStakingPoolSetEventArgs,
 | 
			
		||||
    StakingMoveStakeEventArgs,
 | 
			
		||||
    StakingOperatorShareDecreasedEventArgs,
 | 
			
		||||
    StakingOwnershipTransferredEventArgs,
 | 
			
		||||
    StakingParamsSetEventArgs,
 | 
			
		||||
    StakingRewardsPaidEventArgs,
 | 
			
		||||
    StakingStakeEventArgs,
 | 
			
		||||
    StakingStakingPoolCreatedEventArgs,
 | 
			
		||||
    StakingStakingPoolEarnedRewardsInEpochEventArgs,
 | 
			
		||||
    StakingUnstakeEventArgs,
 | 
			
		||||
    StakingProxyAuthorizedAddressAddedEventArgs,
 | 
			
		||||
    StakingProxyAuthorizedAddressRemovedEventArgs,
 | 
			
		||||
    StakingProxyContract,
 | 
			
		||||
    StakingProxyEventArgs,
 | 
			
		||||
    StakingProxyEvents,
 | 
			
		||||
    StakingProxyOwnershipTransferredEventArgs,
 | 
			
		||||
    StakingProxyStakingContractAttachedToProxyEventArgs,
 | 
			
		||||
    StakingProxyStakingContractDetachedFromProxyEventArgs,
 | 
			
		||||
    IStakingEventsStakingPoolEarnedRewardsInEpochEventArgs,
 | 
			
		||||
    TestStakingEvents,
 | 
			
		||||
    IStakingEventsEpochEndedEventArgs,
 | 
			
		||||
    IStakingEventsEpochFinalizedEventArgs,
 | 
			
		||||
    IStakingEventsEvents,
 | 
			
		||||
    IStakingEventsRewardsPaidEventArgs,
 | 
			
		||||
} from './wrappers';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export import FixedMathRevertErrors = require('./fixed_math_revert_errors');
 | 
			
		||||
export import StakingRevertErrors = require('./staking_revert_errors');
 | 
			
		||||
export { constants } from './constants';
 | 
			
		||||
export {
 | 
			
		||||
    GlobalStakeByStatus,
 | 
			
		||||
    OwnerStakeByStatus,
 | 
			
		||||
    StakeInfo,
 | 
			
		||||
    StakingPoolById,
 | 
			
		||||
    StakeStatus,
 | 
			
		||||
    StoredBalance,
 | 
			
		||||
    StakingPoolById,
 | 
			
		||||
    OwnerStakeByStatus,
 | 
			
		||||
    GlobalStakeByStatus,
 | 
			
		||||
    StakingPool,
 | 
			
		||||
} from './types';
 | 
			
		||||
export {
 | 
			
		||||
    ContractArtifact,
 | 
			
		||||
    ContractChains,
 | 
			
		||||
    CompilerOpts,
 | 
			
		||||
    StandardContractOutput,
 | 
			
		||||
    CompilerSettings,
 | 
			
		||||
    ContractChainData,
 | 
			
		||||
    ContractAbi,
 | 
			
		||||
    DevdocOutput,
 | 
			
		||||
    EvmOutput,
 | 
			
		||||
    CompilerSettingsMetadata,
 | 
			
		||||
    OptimizerSettings,
 | 
			
		||||
    OutputField,
 | 
			
		||||
    ParamDescription,
 | 
			
		||||
    EvmBytecodeOutput,
 | 
			
		||||
    AbiDefinition,
 | 
			
		||||
    FunctionAbi,
 | 
			
		||||
    EventAbi,
 | 
			
		||||
    RevertErrorAbi,
 | 
			
		||||
    EventParameter,
 | 
			
		||||
    DataItem,
 | 
			
		||||
    MethodAbi,
 | 
			
		||||
    ConstructorAbi,
 | 
			
		||||
    FallbackAbi,
 | 
			
		||||
    ConstructorStateMutability,
 | 
			
		||||
    TupleDataItem,
 | 
			
		||||
    StateMutability,
 | 
			
		||||
} from 'ethereum-types';
 | 
			
		||||
 
 | 
			
		||||
@@ -105,11 +105,12 @@ export function assertIntegerRoughlyEquals(actual: Numberish, expected: Numberis
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Converts `amount` into a base unit amount with 18 digits.
 | 
			
		||||
 * Converts `amount` into a base unit amount with a specified number of digits. If
 | 
			
		||||
 * no digits are provided, this defaults to 18 digits.
 | 
			
		||||
 */
 | 
			
		||||
export function toBaseUnitAmount(amount: Numberish): BigNumber {
 | 
			
		||||
    const decimals = 18;
 | 
			
		||||
export function toBaseUnitAmount(amount: Numberish, decimals?: number): BigNumber {
 | 
			
		||||
    const amountAsBigNumber = new BigNumber(amount);
 | 
			
		||||
    const baseUnitAmount = Web3Wrapper.toBaseUnitAmount(amountAsBigNumber, decimals);
 | 
			
		||||
    const baseDecimals = decimals !== undefined ? decimals : 18;
 | 
			
		||||
    const baseUnitAmount = Web3Wrapper.toBaseUnitAmount(amountAsBigNumber, baseDecimals);
 | 
			
		||||
    return baseUnitAmount;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										7
									
								
								contracts/staking/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								contracts/staking/typedoc-tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "extends": "../../typedoc-tsconfig",
 | 
			
		||||
    "compilerOptions": {
 | 
			
		||||
        "outDir": "lib"
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["./src/**/*", "./test/**/*"]
 | 
			
		||||
}
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.2.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.2.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.2.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.2.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-test-utils",
 | 
			
		||||
    "version": "3.2.0-beta.2",
 | 
			
		||||
    "version": "3.2.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -34,7 +34,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/test-utils/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "npm-run-all": "^4.1.2",
 | 
			
		||||
        "shx": "^0.2.2",
 | 
			
		||||
@@ -43,13 +43,13 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/assert": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/json-schemas": "^4.1.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/sol-coverage": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/sol-profiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/sol-trace": "^2.1.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/sol-coverage": "^3.1.0-beta.3",
 | 
			
		||||
        "@0x/sol-profiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/sol-trace": "^2.1.0-beta.3",
 | 
			
		||||
        "@0x/subproviders": "^5.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -81,10 +81,10 @@ export function assertIntegerRoughlyEquals(actual: Numberish, expected: Numberis
 | 
			
		||||
/**
 | 
			
		||||
 * Converts `amount` into a base unit amount with 18 digits.
 | 
			
		||||
 */
 | 
			
		||||
export function toBaseUnitAmount(amount: Numberish): BigNumber {
 | 
			
		||||
    const decimals = 18;
 | 
			
		||||
export function toBaseUnitAmount(amount: Numberish, decimals?: number): BigNumber {
 | 
			
		||||
    const baseDecimals = decimals !== undefined ? decimals : 18;
 | 
			
		||||
    const amountAsBigNumber = new BigNumber(amount);
 | 
			
		||||
    const baseUnitAmount = Web3Wrapper.toBaseUnitAmount(amountAsBigNumber, decimals);
 | 
			
		||||
    const baseUnitAmount = Web3Wrapper.toBaseUnitAmount(amountAsBigNumber, baseDecimals);
 | 
			
		||||
    return baseUnitAmount;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-tests",
 | 
			
		||||
    "private": true,
 | 
			
		||||
    "version": "0.0.3",
 | 
			
		||||
    "version": "0.0.4",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -50,17 +50,17 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/tests/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc1155": "^1.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.2",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contracts-asset-proxy": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-dev-utils": "^0.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc1155": "^1.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc20": "^2.3.0-beta.3",
 | 
			
		||||
        "@0x/contracts-erc721": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-exchange": "^2.2.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.3.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "3.3.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v3.3.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v3.3.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils (#2330)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@0x/contracts-utils",
 | 
			
		||||
    "version": "3.3.0-beta.2",
 | 
			
		||||
    "version": "3.3.0-beta.3",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -50,12 +50,12 @@
 | 
			
		||||
    },
 | 
			
		||||
    "homepage": "https://github.com/0xProject/0x-monorepo/contracts/utils/README.md",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.2",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/contracts-gen": "^1.1.0-beta.3",
 | 
			
		||||
        "@0x/contracts-test-utils": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/sol-compiler": "^3.2.0-beta.3",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/web3-wrapper": "^6.1.0-beta.2",
 | 
			
		||||
@@ -79,7 +79,7 @@
 | 
			
		||||
        "typescript": "3.0.1"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/utils": "^4.6.0-beta.2",
 | 
			
		||||
        "bn.js": "^4.11.8",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
export * from './artifacts';
 | 
			
		||||
export { artifacts } from './artifacts';
 | 
			
		||||
export * from './wrappers';
 | 
			
		||||
 | 
			
		||||
import * as ReferenceFunctionsToExport from './reference_functions';
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@
 | 
			
		||||
    "config": {
 | 
			
		||||
        "contractsPackages": "@0x/contracts-asset-proxy @0x/contracts-dev-utils @0x/contracts-erc20 @0x/contracts-erc721 @0x/contracts-erc1155 @0x/contracts-exchange @0x/contracts-exchange-forwarder @0x/contracts-exchange-libs @0x/contracts-integrations @0x/contracts-multisig @0x/contracts-staking @0x/contracts-test-utils @0x/contracts-utils @0x/contracts-coordinator @0x/contracts-tests",
 | 
			
		||||
        "mnemonic": "concert load couple harbor equip island argue ramp clarify fence smart topic",
 | 
			
		||||
        "packagesWithDocPages": "contract-wrappers 0x.js connect json-schemas subproviders web3-wrapper order-utils sol-compiler sol-coverage sol-profiler sol-trace ethereum-types asset-swapper migrations",
 | 
			
		||||
        "packagesWithDocPages": "0x.js @0x/contract-wrappers @0x/connect @0x/json-schemas @0x/subproviders @0x/web3-wrapper @0x/order-utils @0x/sol-compiler @0x/sol-coverage @0x/sol-profiler @0x/sol-trace @0x/dev-utils @0x/asset-swapper @0x/migrations @0x/orderbook @0x/contracts-asset-proxy @0x/contracts-coordinator @0x/contracts-dev-utils @0x/contracts-erc20 @0x/contracts-erc721 @0x/contracts-erc1155 @0x/contracts-exchange @0x/contracts-exchange-forwarder @0x/contracts-exchange-libs @0x/contracts-extensions @0x/contracts-staking",
 | 
			
		||||
        "ignoreDependencyVersions": "@types/styled-components @types/node",
 | 
			
		||||
        "ignoreDependencyVersionsForPackage": "instant contract-wrappers"
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,13 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "8.0.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Dependencies updated"
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "8.0.0-beta.1",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v8.0.0-beta.2 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Dependencies updated
 | 
			
		||||
 | 
			
		||||
## v8.0.0-beta.1 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * Remove ZRXToken contract wrapper (#2324)
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,6 +1,6 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "0x.js",
 | 
			
		||||
    "version": "8.0.0-beta.1",
 | 
			
		||||
    "version": "8.0.0-beta.2",
 | 
			
		||||
    "engines": {
 | 
			
		||||
        "node": ">=6.12"
 | 
			
		||||
    },
 | 
			
		||||
@@ -46,9 +46,9 @@
 | 
			
		||||
    },
 | 
			
		||||
    "license": "Apache-2.0",
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@0x/contract-addresses": "^3.3.0-beta.3",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.2",
 | 
			
		||||
        "@0x/migrations": "^4.4.0-beta.2",
 | 
			
		||||
        "@0x/contract-addresses": "^3.3.0-beta.4",
 | 
			
		||||
        "@0x/dev-utils": "^2.4.0-beta.3",
 | 
			
		||||
        "@0x/migrations": "^4.4.0-beta.3",
 | 
			
		||||
        "@0x/ts-doc-gen": "^0.0.22",
 | 
			
		||||
        "@0x/tslint-config": "^3.1.0-beta.2",
 | 
			
		||||
        "@types/lodash": "4.14.104",
 | 
			
		||||
@@ -77,12 +77,12 @@
 | 
			
		||||
        "webpack": "^4.20.2"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@0x/abi-gen-wrappers": "^5.4.0-beta.2",
 | 
			
		||||
        "@0x/abi-gen-wrappers": "^5.4.0-beta.3",
 | 
			
		||||
        "@0x/assert": "^2.2.0-beta.2",
 | 
			
		||||
        "@0x/asset-swapper": "^2.1.0-beta.2",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.2",
 | 
			
		||||
        "@0x/contract-wrappers": "^12.2.0-beta.2",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.2",
 | 
			
		||||
        "@0x/asset-swapper": "^2.1.0-beta.3",
 | 
			
		||||
        "@0x/base-contract": "^5.5.0-beta.3",
 | 
			
		||||
        "@0x/contract-wrappers": "^12.2.0-beta.3",
 | 
			
		||||
        "@0x/order-utils": "^8.5.0-beta.3",
 | 
			
		||||
        "@0x/subproviders": "^5.1.0-beta.2",
 | 
			
		||||
        "@0x/types": "^2.5.0-beta.2",
 | 
			
		||||
        "@0x/typescript-typings": "^4.4.0-beta.2",
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,14 @@
 | 
			
		||||
[
 | 
			
		||||
    {
 | 
			
		||||
        "version": "5.4.0-beta.3",
 | 
			
		||||
        "changes": [
 | 
			
		||||
            {
 | 
			
		||||
                "note": "Re-enable gas estimation when `gas` is not provided.",
 | 
			
		||||
                "pr": 2343
 | 
			
		||||
            }
 | 
			
		||||
        ],
 | 
			
		||||
        "timestamp": 1574238768
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
        "version": "5.4.0-beta.2",
 | 
			
		||||
        "changes": [
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,10 @@ Edit the package's CHANGELOG.json file only.
 | 
			
		||||
 | 
			
		||||
CHANGELOG
 | 
			
		||||
 | 
			
		||||
## v5.4.0-beta.3 - _November 20, 2019_
 | 
			
		||||
 | 
			
		||||
    * Re-enable gas estimation when `gas` is not provided. (#2343)
 | 
			
		||||
 | 
			
		||||
## v5.4.0-beta.2 - _November 17, 2019_
 | 
			
		||||
 | 
			
		||||
    * [Breaking] Remove `erc20Proxy`, `multiAssetProxy`, `erc1155Proxy`, `staticCallProxy`, `erc721Proxy`, `assetProxyOwner`, `ZRXToken` and `dutchAuction` wrappers (#2324)
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user