Compare commits
55 Commits
@0x/contra
...
@0x/migrat
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