Merge pull request #1388 from 0xProject/feature/contracts-monorepo-6
Contracts monorepo 6
This commit is contained in:
commit
a39e0f13be
@ -43,6 +43,7 @@ jobs:
|
|||||||
- run: yarn wsrun test:circleci @0x/contracts-multisig
|
- run: yarn wsrun test:circleci @0x/contracts-multisig
|
||||||
- run: yarn wsrun test:circleci @0x/contracts-utils
|
- run: yarn wsrun test:circleci @0x/contracts-utils
|
||||||
- run: yarn wsrun test:circleci @0x/contracts-libs
|
- run: yarn wsrun test:circleci @0x/contracts-libs
|
||||||
|
- run: yarn wsrun test:circleci @0x/contracts-tokens
|
||||||
- run: yarn wsrun test:circleci @0x/contracts-core
|
- run: yarn wsrun test:circleci @0x/contracts-core
|
||||||
test-contracts-geth:
|
test-contracts-geth:
|
||||||
docker:
|
docker:
|
||||||
@ -58,6 +59,7 @@ jobs:
|
|||||||
- run: sleep 10 && TEST_PROVIDER=geth yarn wsrun test @0x/contracts-multisig
|
- run: sleep 10 && TEST_PROVIDER=geth yarn wsrun test @0x/contracts-multisig
|
||||||
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-utils
|
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-utils
|
||||||
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-libs
|
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-libs
|
||||||
|
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-tokens
|
||||||
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-core
|
- run: TEST_PROVIDER=geth yarn wsrun test @0x/contracts-core
|
||||||
test-publish:
|
test-publish:
|
||||||
resource_class: medium+
|
resource_class: medium+
|
||||||
|
2
.gitignore
vendored
2
.gitignore
vendored
@ -88,6 +88,7 @@ contracts/multisig/generated-artifacts/
|
|||||||
contracts/utils/generated-artifacts/
|
contracts/utils/generated-artifacts/
|
||||||
contracts/libs/generated-artifacts/
|
contracts/libs/generated-artifacts/
|
||||||
contracts/interfaces/generated-artifacts/
|
contracts/interfaces/generated-artifacts/
|
||||||
|
contracts/tokens/generated-artifacts/
|
||||||
packages/sol-cov/test/fixtures/artifacts/
|
packages/sol-cov/test/fixtures/artifacts/
|
||||||
packages/metacoin/artifacts/
|
packages/metacoin/artifacts/
|
||||||
|
|
||||||
@ -98,6 +99,7 @@ contracts/multisig/generated-wrappers/
|
|||||||
contracts/utils/generated-wrappers/
|
contracts/utils/generated-wrappers/
|
||||||
contracts/libs/generated-wrappers/
|
contracts/libs/generated-wrappers/
|
||||||
contracts/interfaces/generated-wrappers/
|
contracts/interfaces/generated-wrappers/
|
||||||
|
contracts/tokens/generated-wrappers/
|
||||||
packages/metacoin/src/contract_wrappers
|
packages/metacoin/src/contract_wrappers
|
||||||
|
|
||||||
# solc-bin in sol-compiler
|
# solc-bin in sol-compiler
|
||||||
|
@ -10,6 +10,8 @@ lib
|
|||||||
/contracts/libs/generated-artifacts
|
/contracts/libs/generated-artifacts
|
||||||
/contracts/interfaces/generated-wrappers
|
/contracts/interfaces/generated-wrappers
|
||||||
/contracts/interfaces/generated-artifacts
|
/contracts/interfaces/generated-artifacts
|
||||||
|
/contracts/tokens/generated-wrappers
|
||||||
|
/contracts/tokens/generated-artifacts
|
||||||
/packages/abi-gen-wrappers/src/generated-wrappers
|
/packages/abi-gen-wrappers/src/generated-wrappers
|
||||||
/packages/contract-artifacts/artifacts
|
/packages/contract-artifacts/artifacts
|
||||||
/python-packages/order_utils/src/zero_ex/contract_artifacts/artifacts
|
/python-packages/order_utils/src/zero_ex/contract_artifacts/artifacts
|
||||||
|
@ -117,19 +117,5 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "ZRXToken",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"changes": [
|
|
||||||
{
|
|
||||||
"note": "protocol v1 deploy",
|
|
||||||
"networks": {
|
|
||||||
"1": "0xe41d2489571d322189246dafa5ebde1f4699f498",
|
|
||||||
"3": "0xff67881f8d12f372d91baae9752eb3631ff0ed00",
|
|
||||||
"42": "0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -12,10 +12,6 @@ Contracts that make up and interact with version 2.0.0 of the protocol can be fo
|
|||||||
* This directory contains contracts that interact with the 2.0.0 contracts and will be used in production, such as the [Forwarder](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md) contract.
|
* This directory contains contracts that interact with the 2.0.0 contracts and will be used in production, such as the [Forwarder](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/forwarder-specification.md) contract.
|
||||||
* [examples](./contracts/examples)
|
* [examples](./contracts/examples)
|
||||||
* This directory contains example implementations of contracts that interact with the protocol but are _not_ intended for use in production. Examples include [filter](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#filter-contracts) contracts, a [Wallet](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#wallet) contract, and a [Validator](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#validator) contract, among others.
|
* This directory contains example implementations of contracts that interact with the protocol but are _not_ intended for use in production. Examples include [filter](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#filter-contracts) contracts, a [Wallet](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#wallet) contract, and a [Validator](https://github.com/0xProject/0x-protocol-specification/blob/master/v2/v2-specification.md#validator) contract, among others.
|
||||||
* [tokens](./contracts/tokens)
|
|
||||||
* This directory contains implementations of different tokens and token standards, including [wETH](https://weth.io/), ZRX, [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md), and [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md).
|
|
||||||
* [utils](./contracts/utils)
|
|
||||||
* This directory contains libraries and utils that are shared across all of the other directories.
|
|
||||||
* [test](./contracts/test)
|
* [test](./contracts/test)
|
||||||
* This directory contains mocks and other contracts that are used solely for testing contracts within the other directories.
|
* This directory contains mocks and other contracts that are used solely for testing contracts within the other directories.
|
||||||
|
|
||||||
|
@ -20,24 +20,15 @@
|
|||||||
},
|
},
|
||||||
"contracts": [
|
"contracts": [
|
||||||
"AssetProxyOwner",
|
"AssetProxyOwner",
|
||||||
"DummyERC20Token",
|
|
||||||
"DummyERC721Receiver",
|
|
||||||
"DummyERC721Token",
|
|
||||||
"DummyMultipleReturnERC20Token",
|
|
||||||
"DummyNoReturnERC20Token",
|
|
||||||
"DutchAuction",
|
"DutchAuction",
|
||||||
"ERC20Proxy",
|
"ERC20Proxy",
|
||||||
"ERC20Token",
|
|
||||||
"ERC721Token",
|
|
||||||
"ERC721Proxy",
|
"ERC721Proxy",
|
||||||
"Exchange",
|
"Exchange",
|
||||||
"ExchangeWrapper",
|
"ExchangeWrapper",
|
||||||
"Forwarder",
|
"Forwarder",
|
||||||
"InvalidERC721Receiver",
|
|
||||||
"MixinAuthorizable",
|
"MixinAuthorizable",
|
||||||
"MultiAssetProxy",
|
"MultiAssetProxy",
|
||||||
"OrderValidator",
|
"OrderValidator",
|
||||||
"ReentrantERC20Token",
|
|
||||||
"TestAssetProxyOwner",
|
"TestAssetProxyOwner",
|
||||||
"TestAssetProxyDispatcher",
|
"TestAssetProxyDispatcher",
|
||||||
"TestExchangeInternals",
|
"TestExchangeInternals",
|
||||||
@ -45,8 +36,6 @@
|
|||||||
"TestStaticCallReceiver",
|
"TestStaticCallReceiver",
|
||||||
"Validator",
|
"Validator",
|
||||||
"Wallet",
|
"Wallet",
|
||||||
"WETH9",
|
"Whitelist"
|
||||||
"Whitelist",
|
|
||||||
"ZRXToken"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -21,7 +21,7 @@ pragma experimental ABIEncoderV2;
|
|||||||
|
|
||||||
import "@0x/contracts-interfaces/contracts/protocol/Exchange/IExchange.sol";
|
import "@0x/contracts-interfaces/contracts/protocol/Exchange/IExchange.sol";
|
||||||
import "@0x/contracts-libs/contracts/libs/LibOrder.sol";
|
import "@0x/contracts-libs/contracts/libs/LibOrder.sol";
|
||||||
import "../../tokens/ERC20Token/IERC20Token.sol";
|
import "@0x/contracts-tokens/contracts/tokens/ERC20Token/IERC20Token.sol";
|
||||||
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
|
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
|
||||||
import "@0x/contracts-utils/contracts/utils/SafeMath/SafeMath.sol";
|
import "@0x/contracts-utils/contracts/utils/SafeMath/SafeMath.sol";
|
||||||
|
|
||||||
|
@ -20,8 +20,8 @@ pragma solidity 0.4.24;
|
|||||||
|
|
||||||
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
|
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
|
||||||
import "@0x/contracts-utils/contracts/utils/Ownable/Ownable.sol";
|
import "@0x/contracts-utils/contracts/utils/Ownable/Ownable.sol";
|
||||||
import "../../tokens/ERC20Token/IERC20Token.sol";
|
import "@0x/contracts-tokens/contracts/tokens/ERC20Token/IERC20Token.sol";
|
||||||
import "../../tokens/ERC721Token/IERC721Token.sol";
|
import "@0x/contracts-tokens/contracts/tokens/ERC721Token/IERC721Token.sol";
|
||||||
import "./libs/LibConstants.sol";
|
import "./libs/LibConstants.sol";
|
||||||
import "./mixins/MAssets.sol";
|
import "./mixins/MAssets.sol";
|
||||||
|
|
||||||
|
@ -20,8 +20,8 @@ pragma solidity 0.4.24;
|
|||||||
|
|
||||||
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
|
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
|
||||||
import "@0x/contracts-interfaces/contracts/protocol/Exchange/IExchange.sol";
|
import "@0x/contracts-interfaces/contracts/protocol/Exchange/IExchange.sol";
|
||||||
import "../../../tokens/EtherToken/IEtherToken.sol";
|
import "@0x/contracts-tokens/contracts/tokens/EtherToken/IEtherToken.sol";
|
||||||
import "../../../tokens/ERC20Token/IERC20Token.sol";
|
import "@0x/contracts-tokens/contracts/tokens/ERC20Token/IERC20Token.sol";
|
||||||
|
|
||||||
|
|
||||||
contract LibConstants {
|
contract LibConstants {
|
||||||
|
@ -21,8 +21,8 @@ pragma experimental ABIEncoderV2;
|
|||||||
|
|
||||||
import "@0x/contracts-interfaces/contracts/protocol/Exchange/IExchange.sol";
|
import "@0x/contracts-interfaces/contracts/protocol/Exchange/IExchange.sol";
|
||||||
import "@0x/contracts-libs/contracts/libs/LibOrder.sol";
|
import "@0x/contracts-libs/contracts/libs/LibOrder.sol";
|
||||||
import "../../tokens/ERC20Token/IERC20Token.sol";
|
import "@0x/contracts-tokens/contracts/tokens/ERC20Token/IERC20Token.sol";
|
||||||
import "../../tokens/ERC721Token/IERC721Token.sol";
|
import "@0x/contracts-tokens/contracts/tokens/ERC721Token/IERC721Token.sol";
|
||||||
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
|
import "@0x/contracts-utils/contracts/utils/LibBytes/LibBytes.sol";
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
pragma solidity 0.4.24;
|
pragma solidity 0.4.24;
|
||||||
|
|
||||||
import "../../tokens/ERC20Token/IERC20Token.sol";
|
import "@0x/contracts-tokens/contracts/tokens/ERC20Token/IERC20Token.sol";
|
||||||
|
|
||||||
|
|
||||||
// solhint-disable no-unused-vars
|
// solhint-disable no-unused-vars
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
"lint-contracts": "solhint contracts/**/**/**/**/*.sol"
|
"lint-contracts": "solhint contracts/**/**/**/**/*.sol"
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"abis": "generated-artifacts/@(AssetProxyOwner|DummyERC20Token|DummyERC721Receiver|DummyERC721Token|DummyMultipleReturnERC20Token|DummyNoReturnERC20Token|DutchAuction|ERC20Token|ERC20Proxy|ERC721Token|ERC721Proxy|Forwarder|Exchange|ExchangeWrapper|InvalidERC721Receiver|MixinAuthorizable|MultiAssetProxy|OrderValidator|ReentrantERC20Token|TestAssetProxyOwner|TestAssetProxyDispatcher|TestConstants|TestExchangeInternals|TestLibBytes|TestSignatureValidator|TestStaticCallReceiver|Validator|Wallet|Whitelist|WETH9|ZRXToken).json"
|
"abis": "generated-artifacts/@(AssetProxyOwner|DutchAuction|ERC20Proxy|ERC721Proxy|Forwarder|Exchange|ExchangeWrapper|MixinAuthorizable|MultiAssetProxy|OrderValidator|TestAssetProxyOwner|TestAssetProxyDispatcher|TestExchangeInternals|TestSignatureValidator|TestStaticCallReceiver|Validator|Wallet|Whitelist).json"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
@ -76,6 +76,7 @@
|
|||||||
"@0x/order-utils": "^3.0.4",
|
"@0x/order-utils": "^3.0.4",
|
||||||
"@0x/contracts-multisig": "^1.0.0",
|
"@0x/contracts-multisig": "^1.0.0",
|
||||||
"@0x/contracts-utils": "^1.0.0",
|
"@0x/contracts-utils": "^1.0.0",
|
||||||
|
"@0x/contracts-tokens": "^1.0.0",
|
||||||
"@0x/contracts-libs": "^1.0.0",
|
"@0x/contracts-libs": "^1.0.0",
|
||||||
"@0x/contracts-interfaces": "^1.0.0",
|
"@0x/contracts-interfaces": "^1.0.0",
|
||||||
"@0x/types": "^1.3.0",
|
"@0x/types": "^1.3.0",
|
||||||
|
@ -1,24 +1,15 @@
|
|||||||
import { ContractArtifact } from 'ethereum-types';
|
import { ContractArtifact } from 'ethereum-types';
|
||||||
|
|
||||||
import * as AssetProxyOwner from '../../generated-artifacts/AssetProxyOwner.json';
|
import * as AssetProxyOwner from '../../generated-artifacts/AssetProxyOwner.json';
|
||||||
import * as DummyERC20Token from '../../generated-artifacts/DummyERC20Token.json';
|
|
||||||
import * as DummyERC721Receiver from '../../generated-artifacts/DummyERC721Receiver.json';
|
|
||||||
import * as DummyERC721Token from '../../generated-artifacts/DummyERC721Token.json';
|
|
||||||
import * as DummyMultipleReturnERC20Token from '../../generated-artifacts/DummyMultipleReturnERC20Token.json';
|
|
||||||
import * as DummyNoReturnERC20Token from '../../generated-artifacts/DummyNoReturnERC20Token.json';
|
|
||||||
import * as DutchAuction from '../../generated-artifacts/DutchAuction.json';
|
import * as DutchAuction from '../../generated-artifacts/DutchAuction.json';
|
||||||
import * as ERC20Proxy from '../../generated-artifacts/ERC20Proxy.json';
|
import * as ERC20Proxy from '../../generated-artifacts/ERC20Proxy.json';
|
||||||
import * as ERC20Token from '../../generated-artifacts/ERC20Token.json';
|
|
||||||
import * as ERC721Proxy from '../../generated-artifacts/ERC721Proxy.json';
|
import * as ERC721Proxy from '../../generated-artifacts/ERC721Proxy.json';
|
||||||
import * as ERC721Token from '../../generated-artifacts/ERC721Token.json';
|
|
||||||
import * as Exchange from '../../generated-artifacts/Exchange.json';
|
import * as Exchange from '../../generated-artifacts/Exchange.json';
|
||||||
import * as ExchangeWrapper from '../../generated-artifacts/ExchangeWrapper.json';
|
import * as ExchangeWrapper from '../../generated-artifacts/ExchangeWrapper.json';
|
||||||
import * as Forwarder from '../../generated-artifacts/Forwarder.json';
|
import * as Forwarder from '../../generated-artifacts/Forwarder.json';
|
||||||
import * as InvalidERC721Receiver from '../../generated-artifacts/InvalidERC721Receiver.json';
|
|
||||||
import * as MixinAuthorizable from '../../generated-artifacts/MixinAuthorizable.json';
|
import * as MixinAuthorizable from '../../generated-artifacts/MixinAuthorizable.json';
|
||||||
import * as MultiAssetProxy from '../../generated-artifacts/MultiAssetProxy.json';
|
import * as MultiAssetProxy from '../../generated-artifacts/MultiAssetProxy.json';
|
||||||
import * as OrderValidator from '../../generated-artifacts/OrderValidator.json';
|
import * as OrderValidator from '../../generated-artifacts/OrderValidator.json';
|
||||||
import * as ReentrantERC20Token from '../../generated-artifacts/ReentrantERC20Token.json';
|
|
||||||
import * as TestAssetProxyDispatcher from '../../generated-artifacts/TestAssetProxyDispatcher.json';
|
import * as TestAssetProxyDispatcher from '../../generated-artifacts/TestAssetProxyDispatcher.json';
|
||||||
import * as TestAssetProxyOwner from '../../generated-artifacts/TestAssetProxyOwner.json';
|
import * as TestAssetProxyOwner from '../../generated-artifacts/TestAssetProxyOwner.json';
|
||||||
import * as TestExchangeInternals from '../../generated-artifacts/TestExchangeInternals.json';
|
import * as TestExchangeInternals from '../../generated-artifacts/TestExchangeInternals.json';
|
||||||
@ -26,40 +17,25 @@ import * as TestSignatureValidator from '../../generated-artifacts/TestSignature
|
|||||||
import * as TestStaticCallReceiver from '../../generated-artifacts/TestStaticCallReceiver.json';
|
import * as TestStaticCallReceiver from '../../generated-artifacts/TestStaticCallReceiver.json';
|
||||||
import * as Validator from '../../generated-artifacts/Validator.json';
|
import * as Validator from '../../generated-artifacts/Validator.json';
|
||||||
import * as Wallet from '../../generated-artifacts/Wallet.json';
|
import * as Wallet from '../../generated-artifacts/Wallet.json';
|
||||||
import * as WETH9 from '../../generated-artifacts/WETH9.json';
|
|
||||||
import * as Whitelist from '../../generated-artifacts/Whitelist.json';
|
import * as Whitelist from '../../generated-artifacts/Whitelist.json';
|
||||||
import * as ZRXToken from '../../generated-artifacts/ZRXToken.json';
|
|
||||||
|
|
||||||
export const artifacts = {
|
export const artifacts = {
|
||||||
AssetProxyOwner: AssetProxyOwner as ContractArtifact,
|
AssetProxyOwner: AssetProxyOwner as ContractArtifact,
|
||||||
DummyERC20Token: DummyERC20Token as ContractArtifact,
|
|
||||||
DummyERC721Receiver: DummyERC721Receiver as ContractArtifact,
|
|
||||||
DummyERC721Token: DummyERC721Token as ContractArtifact,
|
|
||||||
DummyMultipleReturnERC20Token: DummyMultipleReturnERC20Token as ContractArtifact,
|
|
||||||
DummyNoReturnERC20Token: DummyNoReturnERC20Token as ContractArtifact,
|
|
||||||
DutchAuction: DutchAuction as ContractArtifact,
|
DutchAuction: DutchAuction as ContractArtifact,
|
||||||
ERC20Proxy: ERC20Proxy as ContractArtifact,
|
ERC20Proxy: ERC20Proxy as ContractArtifact,
|
||||||
ERC20Token: ERC20Token as ContractArtifact,
|
|
||||||
ERC721Proxy: ERC721Proxy as ContractArtifact,
|
ERC721Proxy: ERC721Proxy as ContractArtifact,
|
||||||
ERC721Token: ERC721Token as ContractArtifact,
|
|
||||||
Exchange: Exchange as ContractArtifact,
|
Exchange: Exchange as ContractArtifact,
|
||||||
ExchangeWrapper: ExchangeWrapper as ContractArtifact,
|
ExchangeWrapper: ExchangeWrapper as ContractArtifact,
|
||||||
Forwarder: Forwarder as ContractArtifact,
|
Forwarder: Forwarder as ContractArtifact,
|
||||||
InvalidERC721Receiver: InvalidERC721Receiver as ContractArtifact,
|
|
||||||
MixinAuthorizable: MixinAuthorizable as ContractArtifact,
|
MixinAuthorizable: MixinAuthorizable as ContractArtifact,
|
||||||
MultiAssetProxy: MultiAssetProxy as ContractArtifact,
|
MultiAssetProxy: MultiAssetProxy as ContractArtifact,
|
||||||
OrderValidator: OrderValidator as ContractArtifact,
|
OrderValidator: OrderValidator as ContractArtifact,
|
||||||
ReentrantERC20Token: ReentrantERC20Token as ContractArtifact,
|
|
||||||
TestAssetProxyDispatcher: TestAssetProxyDispatcher as ContractArtifact,
|
TestAssetProxyDispatcher: TestAssetProxyDispatcher as ContractArtifact,
|
||||||
TestAssetProxyOwner: TestAssetProxyOwner as ContractArtifact,
|
TestAssetProxyOwner: TestAssetProxyOwner as ContractArtifact,
|
||||||
TestExchangeInternals: TestExchangeInternals as ContractArtifact,
|
TestExchangeInternals: TestExchangeInternals as ContractArtifact,
|
||||||
TestSignatureValidator: TestSignatureValidator as ContractArtifact,
|
TestSignatureValidator: TestSignatureValidator as ContractArtifact,
|
||||||
TestStaticCallReceiver: TestStaticCallReceiver as ContractArtifact,
|
TestStaticCallReceiver: TestStaticCallReceiver as ContractArtifact,
|
||||||
Validator: Validator as ContractArtifact,
|
Validator: Validator as ContractArtifact,
|
||||||
WETH9: WETH9 as ContractArtifact,
|
|
||||||
Wallet: Wallet as ContractArtifact,
|
Wallet: Wallet as ContractArtifact,
|
||||||
Whitelist: Whitelist as ContractArtifact,
|
Whitelist: Whitelist as ContractArtifact,
|
||||||
// Note(albrow): "as any" hack still required here because ZRXToken does not
|
|
||||||
// conform to the v2 artifact type.
|
|
||||||
ZRXToken: (ZRXToken as any) as ContractArtifact,
|
|
||||||
};
|
};
|
||||||
|
2
contracts/core/src/index.ts
Normal file
2
contracts/core/src/index.ts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
export * from './artifacts';
|
||||||
|
export * from './wrappers';
|
@ -1,21 +1,12 @@
|
|||||||
export * from '../../generated-wrappers/asset_proxy_owner';
|
export * from '../../generated-wrappers/asset_proxy_owner';
|
||||||
export * from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
export * from '../../generated-wrappers/dummy_erc721_receiver';
|
|
||||||
export * from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
export * from '../../generated-wrappers/dummy_multiple_return_erc20_token';
|
|
||||||
export * from '../../generated-wrappers/dummy_no_return_erc20_token';
|
|
||||||
export * from '../../generated-wrappers/dutch_auction';
|
export * from '../../generated-wrappers/dutch_auction';
|
||||||
export * from '../../generated-wrappers/erc20_proxy';
|
export * from '../../generated-wrappers/erc20_proxy';
|
||||||
export * from '../../generated-wrappers/erc721_proxy';
|
export * from '../../generated-wrappers/erc721_proxy';
|
||||||
export * from '../../generated-wrappers/erc20_token';
|
|
||||||
export * from '../../generated-wrappers/erc721_token';
|
|
||||||
export * from '../../generated-wrappers/exchange';
|
export * from '../../generated-wrappers/exchange';
|
||||||
export * from '../../generated-wrappers/exchange_wrapper';
|
export * from '../../generated-wrappers/exchange_wrapper';
|
||||||
export * from '../../generated-wrappers/forwarder';
|
export * from '../../generated-wrappers/forwarder';
|
||||||
export * from '../../generated-wrappers/invalid_erc721_receiver';
|
|
||||||
export * from '../../generated-wrappers/mixin_authorizable';
|
export * from '../../generated-wrappers/mixin_authorizable';
|
||||||
export * from '../../generated-wrappers/order_validator';
|
export * from '../../generated-wrappers/order_validator';
|
||||||
export * from '../../generated-wrappers/reentrant_erc20_token';
|
|
||||||
export * from '../../generated-wrappers/test_asset_proxy_dispatcher';
|
export * from '../../generated-wrappers/test_asset_proxy_dispatcher';
|
||||||
export * from '../../generated-wrappers/test_asset_proxy_owner';
|
export * from '../../generated-wrappers/test_asset_proxy_owner';
|
||||||
export * from '../../generated-wrappers/test_exchange_internals';
|
export * from '../../generated-wrappers/test_exchange_internals';
|
||||||
@ -23,6 +14,4 @@ export * from '../../generated-wrappers/test_signature_validator';
|
|||||||
export * from '../../generated-wrappers/test_static_call_receiver';
|
export * from '../../generated-wrappers/test_static_call_receiver';
|
||||||
export * from '../../generated-wrappers/validator';
|
export * from '../../generated-wrappers/validator';
|
||||||
export * from '../../generated-wrappers/wallet';
|
export * from '../../generated-wrappers/wallet';
|
||||||
export * from '../../generated-wrappers/weth9';
|
|
||||||
export * from '../../generated-wrappers/whitelist';
|
export * from '../../generated-wrappers/whitelist';
|
||||||
export * from '../../generated-wrappers/zrx_token';
|
|
||||||
|
@ -9,6 +9,14 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import {
|
||||||
|
artifacts as tokensArtifacts,
|
||||||
|
DummyERC20TokenContract,
|
||||||
|
DummyERC721ReceiverContract,
|
||||||
|
DummyERC721TokenContract,
|
||||||
|
DummyMultipleReturnERC20TokenContract,
|
||||||
|
DummyNoReturnERC20TokenContract,
|
||||||
|
} from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils } from '@0x/order-utils';
|
import { assetDataUtils } from '@0x/order-utils';
|
||||||
import { RevertReason } from '@0x/types';
|
import { RevertReason } from '@0x/types';
|
||||||
@ -16,11 +24,6 @@ import { BigNumber } from '@0x/utils';
|
|||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { DummyERC721ReceiverContract } from '../../generated-wrappers/dummy_erc721_receiver';
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
import { DummyMultipleReturnERC20TokenContract } from '../../generated-wrappers/dummy_multiple_return_erc20_token';
|
|
||||||
import { DummyNoReturnERC20TokenContract } from '../../generated-wrappers/dummy_no_return_erc20_token';
|
|
||||||
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
||||||
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
||||||
import { MultiAssetProxyContract } from '../../generated-wrappers/multi_asset_proxy';
|
import { MultiAssetProxyContract } from '../../generated-wrappers/multi_asset_proxy';
|
||||||
@ -143,7 +146,7 @@ describe('Asset Transfer Proxies', () => {
|
|||||||
constants.DUMMY_TOKEN_DECIMALS,
|
constants.DUMMY_TOKEN_DECIMALS,
|
||||||
);
|
);
|
||||||
noReturnErc20Token = await DummyNoReturnERC20TokenContract.deployFrom0xArtifactAsync(
|
noReturnErc20Token = await DummyNoReturnERC20TokenContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.DummyNoReturnERC20Token,
|
tokensArtifacts.DummyNoReturnERC20Token,
|
||||||
provider,
|
provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
constants.DUMMY_TOKEN_NAME,
|
constants.DUMMY_TOKEN_NAME,
|
||||||
@ -152,7 +155,7 @@ describe('Asset Transfer Proxies', () => {
|
|||||||
constants.DUMMY_TOKEN_TOTAL_SUPPLY,
|
constants.DUMMY_TOKEN_TOTAL_SUPPLY,
|
||||||
);
|
);
|
||||||
multipleReturnErc20Token = await DummyMultipleReturnERC20TokenContract.deployFrom0xArtifactAsync(
|
multipleReturnErc20Token = await DummyMultipleReturnERC20TokenContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.DummyMultipleReturnERC20Token,
|
tokensArtifacts.DummyMultipleReturnERC20Token,
|
||||||
provider,
|
provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
constants.DUMMY_TOKEN_NAME,
|
constants.DUMMY_TOKEN_NAME,
|
||||||
@ -193,7 +196,7 @@ describe('Asset Transfer Proxies', () => {
|
|||||||
// Deploy and configure ERC721 tokens and receiver
|
// Deploy and configure ERC721 tokens and receiver
|
||||||
[erc721TokenA, erc721TokenB] = await erc721Wrapper.deployDummyTokensAsync();
|
[erc721TokenA, erc721TokenB] = await erc721Wrapper.deployDummyTokensAsync();
|
||||||
erc721Receiver = await DummyERC721ReceiverContract.deployFrom0xArtifactAsync(
|
erc721Receiver = await DummyERC721ReceiverContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.DummyERC721Receiver,
|
tokensArtifacts.DummyERC721Receiver,
|
||||||
provider,
|
provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
);
|
);
|
||||||
@ -557,7 +560,7 @@ describe('Asset Transfer Proxies', () => {
|
|||||||
erc721Receiver.address,
|
erc721Receiver.address,
|
||||||
amount,
|
amount,
|
||||||
);
|
);
|
||||||
const logDecoder = new LogDecoder(web3Wrapper, artifacts);
|
const logDecoder = new LogDecoder(web3Wrapper, { ...artifacts, ...tokensArtifacts });
|
||||||
const tx = await logDecoder.getTxWithDecodedLogsAsync(
|
const tx = await logDecoder.getTxWithDecodedLogsAsync(
|
||||||
await web3Wrapper.sendTransactionAsync({
|
await web3Wrapper.sendTransactionAsync({
|
||||||
to: erc721Proxy.address,
|
to: erc721Proxy.address,
|
||||||
|
@ -12,6 +12,14 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import {
|
||||||
|
artifacts as tokensArtifacts,
|
||||||
|
DummyERC20TokenContract,
|
||||||
|
DummyERC20TokenTransferEventArgs,
|
||||||
|
DummyERC721TokenContract,
|
||||||
|
DummyNoReturnERC20TokenContract,
|
||||||
|
ReentrantERC20TokenContract,
|
||||||
|
} from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils, orderHashUtils } from '@0x/order-utils';
|
import { assetDataUtils, orderHashUtils } from '@0x/order-utils';
|
||||||
import { RevertReason, SignatureType, SignedOrder } from '@0x/types';
|
import { RevertReason, SignatureType, SignedOrder } from '@0x/types';
|
||||||
@ -22,14 +30,10 @@ import { LogWithDecodedArgs } from 'ethereum-types';
|
|||||||
import ethUtil = require('ethereumjs-util');
|
import ethUtil = require('ethereumjs-util');
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract, DummyERC20TokenTransferEventArgs } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
import { DummyNoReturnERC20TokenContract } from '../../generated-wrappers/dummy_no_return_erc20_token';
|
|
||||||
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
||||||
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
||||||
import { ExchangeCancelEventArgs, ExchangeContract } from '../../generated-wrappers/exchange';
|
import { ExchangeCancelEventArgs, ExchangeContract } from '../../generated-wrappers/exchange';
|
||||||
import { MultiAssetProxyContract } from '../../generated-wrappers/multi_asset_proxy';
|
import { MultiAssetProxyContract } from '../../generated-wrappers/multi_asset_proxy';
|
||||||
import { ReentrantERC20TokenContract } from '../../generated-wrappers/reentrant_erc20_token';
|
|
||||||
import { TestStaticCallReceiverContract } from '../../generated-wrappers/test_static_call_receiver';
|
import { TestStaticCallReceiverContract } from '../../generated-wrappers/test_static_call_receiver';
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
||||||
@ -116,7 +120,7 @@ describe('Exchange core', () => {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
);
|
);
|
||||||
reentrantErc20Token = await ReentrantERC20TokenContract.deployFrom0xArtifactAsync(
|
reentrantErc20Token = await ReentrantERC20TokenContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.ReentrantERC20Token,
|
tokensArtifacts.ReentrantERC20Token,
|
||||||
provider,
|
provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
exchange.address,
|
exchange.address,
|
||||||
@ -341,7 +345,7 @@ describe('Exchange core', () => {
|
|||||||
describe('Testing exchange of ERC20 tokens with no return values', () => {
|
describe('Testing exchange of ERC20 tokens with no return values', () => {
|
||||||
before(async () => {
|
before(async () => {
|
||||||
noReturnErc20Token = await DummyNoReturnERC20TokenContract.deployFrom0xArtifactAsync(
|
noReturnErc20Token = await DummyNoReturnERC20TokenContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.DummyNoReturnERC20Token,
|
tokensArtifacts.DummyNoReturnERC20Token,
|
||||||
provider,
|
provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
constants.DUMMY_TOKEN_NAME,
|
constants.DUMMY_TOKEN_NAME,
|
||||||
|
@ -7,6 +7,7 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import { DummyERC20TokenContract } from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils } from '@0x/order-utils';
|
import { assetDataUtils } from '@0x/order-utils';
|
||||||
import { AssetProxyId, RevertReason } from '@0x/types';
|
import { AssetProxyId, RevertReason } from '@0x/types';
|
||||||
@ -15,7 +16,6 @@ import * as chai from 'chai';
|
|||||||
import { LogWithDecodedArgs } from 'ethereum-types';
|
import { LogWithDecodedArgs } from 'ethereum-types';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
||||||
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
||||||
import {
|
import {
|
||||||
|
@ -9,6 +9,12 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import {
|
||||||
|
artifacts as tokensArtifacts,
|
||||||
|
DummyERC20TokenContract,
|
||||||
|
DummyERC721TokenContract,
|
||||||
|
ReentrantERC20TokenContract,
|
||||||
|
} from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils } from '@0x/order-utils';
|
import { assetDataUtils } from '@0x/order-utils';
|
||||||
import { RevertReason } from '@0x/types';
|
import { RevertReason } from '@0x/types';
|
||||||
@ -17,12 +23,9 @@ import { Web3Wrapper } from '@0x/web3-wrapper';
|
|||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
||||||
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
||||||
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
||||||
import { ReentrantERC20TokenContract } from '../../generated-wrappers/reentrant_erc20_token';
|
|
||||||
import { TestExchangeInternalsContract } from '../../generated-wrappers/test_exchange_internals';
|
import { TestExchangeInternalsContract } from '../../generated-wrappers/test_exchange_internals';
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
||||||
@ -139,7 +142,7 @@ describe('matchOrders', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
reentrantErc20Token = await ReentrantERC20TokenContract.deployFrom0xArtifactAsync(
|
reentrantErc20Token = await ReentrantERC20TokenContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.ReentrantERC20Token,
|
tokensArtifacts.ReentrantERC20Token,
|
||||||
provider,
|
provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
exchange.address,
|
exchange.address,
|
||||||
|
@ -9,6 +9,7 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import { artifacts as tokensArtifacts } from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils, orderHashUtils, signatureUtils } from '@0x/order-utils';
|
import { assetDataUtils, orderHashUtils, signatureUtils } from '@0x/order-utils';
|
||||||
import { RevertReason, SignatureType, SignedOrder } from '@0x/types';
|
import { RevertReason, SignatureType, SignedOrder } from '@0x/types';
|
||||||
@ -17,13 +18,13 @@ import { LogWithDecodedArgs } from 'ethereum-types';
|
|||||||
import ethUtil = require('ethereumjs-util');
|
import ethUtil = require('ethereumjs-util');
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
artifacts,
|
||||||
TestSignatureValidatorContract,
|
TestSignatureValidatorContract,
|
||||||
TestSignatureValidatorSignatureValidatorApprovalEventArgs,
|
TestSignatureValidatorSignatureValidatorApprovalEventArgs,
|
||||||
} from '../../generated-wrappers/test_signature_validator';
|
TestStaticCallReceiverContract,
|
||||||
import { TestStaticCallReceiverContract } from '../../generated-wrappers/test_static_call_receiver';
|
ValidatorContract,
|
||||||
import { ValidatorContract } from '../../generated-wrappers/validator';
|
WalletContract,
|
||||||
import { WalletContract } from '../../generated-wrappers/wallet';
|
} from '../../src';
|
||||||
import { artifacts } from '../../src/artifacts';
|
|
||||||
|
|
||||||
chaiSetup.configure();
|
chaiSetup.configure();
|
||||||
const expect = chai.expect;
|
const expect = chai.expect;
|
||||||
@ -77,7 +78,7 @@ describe('MixinSignatureValidator', () => {
|
|||||||
provider,
|
provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
);
|
);
|
||||||
signatureValidatorLogDecoder = new LogDecoder(web3Wrapper, artifacts);
|
signatureValidatorLogDecoder = new LogDecoder(web3Wrapper, { ...artifacts, ...tokensArtifacts });
|
||||||
await web3Wrapper.awaitTransactionSuccessAsync(
|
await web3Wrapper.awaitTransactionSuccessAsync(
|
||||||
await signatureValidator.setSignatureValidatorApproval.sendTransactionAsync(testValidator.address, true, {
|
await signatureValidator.setSignatureValidatorApproval.sendTransactionAsync(testValidator.address, true, {
|
||||||
from: signerAddress,
|
from: signerAddress,
|
||||||
|
@ -11,6 +11,7 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import { DummyERC20TokenContract } from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils, generatePseudoRandomSalt } from '@0x/order-utils';
|
import { assetDataUtils, generatePseudoRandomSalt } from '@0x/order-utils';
|
||||||
import { OrderWithoutExchangeAddress, RevertReason, SignedOrder } from '@0x/types';
|
import { OrderWithoutExchangeAddress, RevertReason, SignedOrder } from '@0x/types';
|
||||||
@ -18,7 +19,6 @@ import { BigNumber } from '@0x/utils';
|
|||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
||||||
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
||||||
import { ExchangeWrapperContract } from '../../generated-wrappers/exchange_wrapper';
|
import { ExchangeWrapperContract } from '../../generated-wrappers/exchange_wrapper';
|
||||||
|
@ -11,6 +11,12 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import {
|
||||||
|
artifacts as tokensArtifacts,
|
||||||
|
DummyERC20TokenContract,
|
||||||
|
DummyERC721TokenContract,
|
||||||
|
ReentrantERC20TokenContract,
|
||||||
|
} from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils, orderHashUtils } from '@0x/order-utils';
|
import { assetDataUtils, orderHashUtils } from '@0x/order-utils';
|
||||||
import { RevertReason, SignedOrder } from '@0x/types';
|
import { RevertReason, SignedOrder } from '@0x/types';
|
||||||
@ -19,12 +25,9 @@ import { Web3Wrapper } from '@0x/web3-wrapper';
|
|||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
||||||
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
||||||
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
||||||
import { ReentrantERC20TokenContract } from '../../generated-wrappers/reentrant_erc20_token';
|
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
||||||
import { ERC721Wrapper } from '../utils/erc721_wrapper';
|
import { ERC721Wrapper } from '../utils/erc721_wrapper';
|
||||||
@ -113,7 +116,7 @@ describe('Exchange wrappers', () => {
|
|||||||
);
|
);
|
||||||
|
|
||||||
reentrantErc20Token = await ReentrantERC20TokenContract.deployFrom0xArtifactAsync(
|
reentrantErc20Token = await ReentrantERC20TokenContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.ReentrantERC20Token,
|
tokensArtifacts.ReentrantERC20Token,
|
||||||
provider,
|
provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
exchange.address,
|
exchange.address,
|
||||||
|
@ -10,6 +10,12 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import {
|
||||||
|
artifacts as tokensArtifacts,
|
||||||
|
DummyERC20TokenContract,
|
||||||
|
DummyERC721TokenContract,
|
||||||
|
WETH9Contract,
|
||||||
|
} from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils, generatePseudoRandomSalt } from '@0x/order-utils';
|
import { assetDataUtils, generatePseudoRandomSalt } from '@0x/order-utils';
|
||||||
import { RevertReason, SignedOrder } from '@0x/types';
|
import { RevertReason, SignedOrder } from '@0x/types';
|
||||||
@ -20,11 +26,8 @@ import ethAbi = require('ethereumjs-abi');
|
|||||||
import * as ethUtil from 'ethereumjs-util';
|
import * as ethUtil from 'ethereumjs-util';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
import { DutchAuctionContract } from '../../generated-wrappers/dutch_auction';
|
import { DutchAuctionContract } from '../../generated-wrappers/dutch_auction';
|
||||||
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
||||||
import { WETH9Contract } from '../../generated-wrappers/weth9';
|
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
||||||
import { ERC721Wrapper } from '../utils/erc721_wrapper';
|
import { ERC721Wrapper } from '../utils/erc721_wrapper';
|
||||||
@ -98,7 +101,7 @@ describe(ContractName.DutchAuction, () => {
|
|||||||
const erc721Balances = await erc721Wrapper.getBalancesAsync();
|
const erc721Balances = await erc721Wrapper.getBalancesAsync();
|
||||||
erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address];
|
erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address];
|
||||||
|
|
||||||
wethContract = await WETH9Contract.deployFrom0xArtifactAsync(artifacts.WETH9, provider, txDefaults);
|
wethContract = await WETH9Contract.deployFrom0xArtifactAsync(tokensArtifacts.WETH9, provider, txDefaults);
|
||||||
erc20Wrapper.addDummyTokenContract(wethContract as any);
|
erc20Wrapper.addDummyTokenContract(wethContract as any);
|
||||||
|
|
||||||
const zrxAssetData = assetDataUtils.encodeERC20AssetData(zrxToken.address);
|
const zrxAssetData = assetDataUtils.encodeERC20AssetData(zrxToken.address);
|
||||||
|
@ -11,6 +11,12 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import {
|
||||||
|
artifacts as tokenArtifacts,
|
||||||
|
DummyERC20TokenContract,
|
||||||
|
DummyERC721TokenContract,
|
||||||
|
WETH9Contract,
|
||||||
|
} from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils } from '@0x/order-utils';
|
import { assetDataUtils } from '@0x/order-utils';
|
||||||
import { RevertReason, SignedOrder } from '@0x/types';
|
import { RevertReason, SignedOrder } from '@0x/types';
|
||||||
@ -19,11 +25,8 @@ import { Web3Wrapper } from '@0x/web3-wrapper';
|
|||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
import { TransactionReceiptWithDecodedLogs } from 'ethereum-types';
|
import { TransactionReceiptWithDecodedLogs } from 'ethereum-types';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
||||||
import { ForwarderContract } from '../../generated-wrappers/forwarder';
|
import { ForwarderContract } from '../../generated-wrappers/forwarder';
|
||||||
import { WETH9Contract } from '../../generated-wrappers/weth9';
|
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
import { ERC20Wrapper } from '../utils/erc20_wrapper';
|
||||||
import { ERC721Wrapper } from '../utils/erc721_wrapper';
|
import { ERC721Wrapper } from '../utils/erc721_wrapper';
|
||||||
@ -94,7 +97,7 @@ describe(ContractName.Forwarder, () => {
|
|||||||
const erc721Balances = await erc721Wrapper.getBalancesAsync();
|
const erc721Balances = await erc721Wrapper.getBalancesAsync();
|
||||||
erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address];
|
erc721MakerAssetIds = erc721Balances[makerAddress][erc721Token.address];
|
||||||
|
|
||||||
wethContract = await WETH9Contract.deployFrom0xArtifactAsync(artifacts.WETH9, provider, txDefaults);
|
wethContract = await WETH9Contract.deployFrom0xArtifactAsync(tokenArtifacts.WETH9, provider, txDefaults);
|
||||||
weth = new DummyERC20TokenContract(wethContract.abi, wethContract.address, provider);
|
weth = new DummyERC20TokenContract(wethContract.abi, wethContract.address, provider);
|
||||||
erc20Wrapper.addDummyTokenContract(weth);
|
erc20Wrapper.addDummyTokenContract(weth);
|
||||||
|
|
||||||
|
@ -7,6 +7,7 @@ import {
|
|||||||
txDefaults,
|
txDefaults,
|
||||||
web3Wrapper,
|
web3Wrapper,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import { DummyERC20TokenContract, DummyERC721TokenContract } from '@0x/contracts-tokens';
|
||||||
import { BlockchainLifecycle } from '@0x/dev-utils';
|
import { BlockchainLifecycle } from '@0x/dev-utils';
|
||||||
import { assetDataUtils, orderHashUtils } from '@0x/order-utils';
|
import { assetDataUtils, orderHashUtils } from '@0x/order-utils';
|
||||||
import { SignedOrder } from '@0x/types';
|
import { SignedOrder } from '@0x/types';
|
||||||
@ -14,8 +15,6 @@ import { BigNumber } from '@0x/utils';
|
|||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
||||||
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
||||||
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
import { ExchangeContract } from '../../generated-wrappers/exchange';
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { LogDecoder } from '@0x/contracts-test-utils';
|
import { LogDecoder } from '@0x/contracts-test-utils';
|
||||||
|
import { artifacts as tokensArtifacts } from '@0x/contracts-tokens';
|
||||||
import { BigNumber } from '@0x/utils';
|
import { BigNumber } from '@0x/utils';
|
||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
import { Provider, TransactionReceiptWithDecodedLogs } from 'ethereum-types';
|
import { Provider, TransactionReceiptWithDecodedLogs } from 'ethereum-types';
|
||||||
@ -14,7 +15,7 @@ export class AssetProxyOwnerWrapper {
|
|||||||
constructor(assetproxyOwnerContract: AssetProxyOwnerContract, provider: Provider) {
|
constructor(assetproxyOwnerContract: AssetProxyOwnerContract, provider: Provider) {
|
||||||
this._assetProxyOwner = assetproxyOwnerContract;
|
this._assetProxyOwner = assetproxyOwnerContract;
|
||||||
this._web3Wrapper = new Web3Wrapper(provider);
|
this._web3Wrapper = new Web3Wrapper(provider);
|
||||||
this._logDecoder = new LogDecoder(this._web3Wrapper, artifacts);
|
this._logDecoder = new LogDecoder(this._web3Wrapper, { ...artifacts, ...tokensArtifacts });
|
||||||
}
|
}
|
||||||
public async submitTransactionAsync(
|
public async submitTransactionAsync(
|
||||||
destination: string,
|
destination: string,
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { constants, ERC20BalancesByOwner, txDefaults } from '@0x/contracts-test-utils';
|
import { constants, ERC20BalancesByOwner, txDefaults } from '@0x/contracts-test-utils';
|
||||||
|
import { artifacts as tokensArtifacts, DummyERC20TokenContract } from '@0x/contracts-tokens';
|
||||||
import { assetDataUtils } from '@0x/order-utils';
|
import { assetDataUtils } from '@0x/order-utils';
|
||||||
import { BigNumber } from '@0x/utils';
|
import { BigNumber } from '@0x/utils';
|
||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
import { Provider } from 'ethereum-types';
|
import { Provider } from 'ethereum-types';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
|
||||||
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
import { ERC20ProxyContract } from '../../generated-wrappers/erc20_proxy';
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ export class ERC20Wrapper {
|
|||||||
for (let i = 0; i < numberToDeploy; i++) {
|
for (let i = 0; i < numberToDeploy; i++) {
|
||||||
this._dummyTokenContracts.push(
|
this._dummyTokenContracts.push(
|
||||||
await DummyERC20TokenContract.deployFrom0xArtifactAsync(
|
await DummyERC20TokenContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.DummyERC20Token,
|
tokensArtifacts.DummyERC20Token,
|
||||||
this._provider,
|
this._provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
constants.DUMMY_TOKEN_NAME,
|
constants.DUMMY_TOKEN_NAME,
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { constants, ERC721TokenIdsByOwner, txDefaults } from '@0x/contracts-test-utils';
|
import { constants, ERC721TokenIdsByOwner, txDefaults } from '@0x/contracts-test-utils';
|
||||||
|
import { artifacts as tokensArtifacts, DummyERC721TokenContract } from '@0x/contracts-tokens';
|
||||||
import { generatePseudoRandomSalt } from '@0x/order-utils';
|
import { generatePseudoRandomSalt } from '@0x/order-utils';
|
||||||
import { BigNumber } from '@0x/utils';
|
import { BigNumber } from '@0x/utils';
|
||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
import { Provider } from 'ethereum-types';
|
import { Provider } from 'ethereum-types';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
import { ERC721ProxyContract } from '../../generated-wrappers/erc721_proxy';
|
||||||
import { artifacts } from '../../src/artifacts';
|
import { artifacts } from '../../src/artifacts';
|
||||||
|
|
||||||
@ -30,7 +30,7 @@ export class ERC721Wrapper {
|
|||||||
for (const i of _.times(constants.NUM_DUMMY_ERC721_TO_DEPLOY)) {
|
for (const i of _.times(constants.NUM_DUMMY_ERC721_TO_DEPLOY)) {
|
||||||
this._dummyTokenContracts.push(
|
this._dummyTokenContracts.push(
|
||||||
await DummyERC721TokenContract.deployFrom0xArtifactAsync(
|
await DummyERC721TokenContract.deployFrom0xArtifactAsync(
|
||||||
artifacts.DummyERC721Token,
|
tokensArtifacts.DummyERC721Token,
|
||||||
this._provider,
|
this._provider,
|
||||||
txDefaults,
|
txDefaults,
|
||||||
constants.DUMMY_TOKEN_NAME,
|
constants.DUMMY_TOKEN_NAME,
|
||||||
|
@ -6,6 +6,7 @@ import {
|
|||||||
orderUtils,
|
orderUtils,
|
||||||
SignedTransaction,
|
SignedTransaction,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import { artifacts as tokensArtifacts } from '@0x/contracts-tokens';
|
||||||
import { SignedOrder } from '@0x/types';
|
import { SignedOrder } from '@0x/types';
|
||||||
import { BigNumber } from '@0x/utils';
|
import { BigNumber } from '@0x/utils';
|
||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
@ -21,7 +22,7 @@ export class ExchangeWrapper {
|
|||||||
constructor(exchangeContract: ExchangeContract, provider: Provider) {
|
constructor(exchangeContract: ExchangeContract, provider: Provider) {
|
||||||
this._exchange = exchangeContract;
|
this._exchange = exchangeContract;
|
||||||
this._web3Wrapper = new Web3Wrapper(provider);
|
this._web3Wrapper = new Web3Wrapper(provider);
|
||||||
this._logDecoder = new LogDecoder(this._web3Wrapper, artifacts);
|
this._logDecoder = new LogDecoder(this._web3Wrapper, { ...artifacts, ...tokensArtifacts });
|
||||||
}
|
}
|
||||||
public async fillOrderAsync(
|
public async fillOrderAsync(
|
||||||
signedOrder: SignedOrder,
|
signedOrder: SignedOrder,
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
import { constants, formatters, LogDecoder, MarketSellOrders } from '@0x/contracts-test-utils';
|
import { constants, formatters, LogDecoder, MarketSellOrders } from '@0x/contracts-test-utils';
|
||||||
|
import { artifacts as tokensArtifacts } from '@0x/contracts-tokens';
|
||||||
import { SignedOrder } from '@0x/types';
|
import { SignedOrder } from '@0x/types';
|
||||||
import { BigNumber } from '@0x/utils';
|
import { BigNumber } from '@0x/utils';
|
||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
@ -58,7 +59,7 @@ export class ForwarderWrapper {
|
|||||||
constructor(contractInstance: ForwarderContract, provider: Provider) {
|
constructor(contractInstance: ForwarderContract, provider: Provider) {
|
||||||
this._forwarderContract = contractInstance;
|
this._forwarderContract = contractInstance;
|
||||||
this._web3Wrapper = new Web3Wrapper(provider);
|
this._web3Wrapper = new Web3Wrapper(provider);
|
||||||
this._logDecoder = new LogDecoder(this._web3Wrapper, artifacts);
|
this._logDecoder = new LogDecoder(this._web3Wrapper, { ...artifacts, ...tokensArtifacts });
|
||||||
}
|
}
|
||||||
public async marketSellOrdersWithEthAsync(
|
public async marketSellOrdersWithEthAsync(
|
||||||
orders: SignedOrder[],
|
orders: SignedOrder[],
|
||||||
|
@ -8,12 +8,11 @@ import {
|
|||||||
OrderScenario,
|
OrderScenario,
|
||||||
TakerScenario,
|
TakerScenario,
|
||||||
} from '@0x/contracts-test-utils';
|
} from '@0x/contracts-test-utils';
|
||||||
|
import { DummyERC721TokenContract } from '@0x/contracts-tokens';
|
||||||
import { assetDataUtils, generatePseudoRandomSalt } from '@0x/order-utils';
|
import { assetDataUtils, generatePseudoRandomSalt } from '@0x/order-utils';
|
||||||
import { Order } from '@0x/types';
|
import { Order } from '@0x/types';
|
||||||
import { BigNumber, errorUtils } from '@0x/utils';
|
import { BigNumber, errorUtils } from '@0x/utils';
|
||||||
|
|
||||||
import { DummyERC721TokenContract } from '../../generated-wrappers/dummy_erc721_token';
|
|
||||||
|
|
||||||
const TEN_UNITS_EIGHTEEN_DECIMALS = new BigNumber(10_000_000_000_000_000_000);
|
const TEN_UNITS_EIGHTEEN_DECIMALS = new BigNumber(10_000_000_000_000_000_000);
|
||||||
const FIVE_UNITS_EIGHTEEN_DECIMALS = new BigNumber(5_000_000_000_000_000_000);
|
const FIVE_UNITS_EIGHTEEN_DECIMALS = new BigNumber(5_000_000_000_000_000_000);
|
||||||
const POINT_ONE_UNITS_EIGHTEEN_DECIMALS = new BigNumber(100_000_000_000_000_000);
|
const POINT_ONE_UNITS_EIGHTEEN_DECIMALS = new BigNumber(100_000_000_000_000_000);
|
||||||
|
@ -8,34 +8,23 @@
|
|||||||
"include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"],
|
"include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"],
|
||||||
"files": [
|
"files": [
|
||||||
"./generated-artifacts/AssetProxyOwner.json",
|
"./generated-artifacts/AssetProxyOwner.json",
|
||||||
"./generated-artifacts/DummyERC20Token.json",
|
|
||||||
"./generated-artifacts/DummyERC721Receiver.json",
|
|
||||||
"./generated-artifacts/DummyERC721Token.json",
|
|
||||||
"./generated-artifacts/DummyMultipleReturnERC20Token.json",
|
|
||||||
"./generated-artifacts/DummyNoReturnERC20Token.json",
|
|
||||||
"./generated-artifacts/DutchAuction.json",
|
"./generated-artifacts/DutchAuction.json",
|
||||||
"./generated-artifacts/ERC20Proxy.json",
|
"./generated-artifacts/ERC20Proxy.json",
|
||||||
"./generated-artifacts/ERC20Token.json",
|
|
||||||
"./generated-artifacts/ERC721Proxy.json",
|
"./generated-artifacts/ERC721Proxy.json",
|
||||||
"./generated-artifacts/ERC721Token.json",
|
|
||||||
"./generated-artifacts/Exchange.json",
|
"./generated-artifacts/Exchange.json",
|
||||||
"./generated-artifacts/ExchangeWrapper.json",
|
"./generated-artifacts/ExchangeWrapper.json",
|
||||||
"./generated-artifacts/Forwarder.json",
|
"./generated-artifacts/Forwarder.json",
|
||||||
"./generated-artifacts/MixinAuthorizable.json",
|
"./generated-artifacts/MixinAuthorizable.json",
|
||||||
"./generated-artifacts/MultiAssetProxy.json",
|
"./generated-artifacts/MultiAssetProxy.json",
|
||||||
"./generated-artifacts/OrderValidator.json",
|
"./generated-artifacts/OrderValidator.json",
|
||||||
"./generated-artifacts/ReentrantERC20Token.json",
|
|
||||||
"./generated-artifacts/TestAssetProxyDispatcher.json",
|
"./generated-artifacts/TestAssetProxyDispatcher.json",
|
||||||
"./generated-artifacts/TestAssetProxyOwner.json",
|
"./generated-artifacts/TestAssetProxyOwner.json",
|
||||||
"./generated-artifacts/TestExchangeInternals.json",
|
"./generated-artifacts/TestExchangeInternals.json",
|
||||||
"./generated-artifacts/TestSignatureValidator.json",
|
"./generated-artifacts/TestSignatureValidator.json",
|
||||||
"./generated-artifacts/TestStaticCallReceiver.json",
|
"./generated-artifacts/TestStaticCallReceiver.json",
|
||||||
"./generated-artifacts/Validator.json",
|
"./generated-artifacts/Validator.json",
|
||||||
"./generated-artifacts/WETH9.json",
|
|
||||||
"./generated-artifacts/Wallet.json",
|
"./generated-artifacts/Wallet.json",
|
||||||
"./generated-artifacts/Whitelist.json",
|
"./generated-artifacts/Whitelist.json"
|
||||||
"./generated-artifacts/InvalidERC721Receiver.json",
|
|
||||||
"./generated-artifacts/ZRXToken.json"
|
|
||||||
],
|
],
|
||||||
"exclude": ["./deploy/solc/solc_bin"]
|
"exclude": ["./deploy/solc/solc_bin"]
|
||||||
}
|
}
|
||||||
|
20
contracts/tokens/.solhint.json
Normal file
20
contracts/tokens/.solhint.json
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"extends": "default",
|
||||||
|
"rules": {
|
||||||
|
"avoid-low-level-calls": false,
|
||||||
|
"avoid-tx-origin": "warn",
|
||||||
|
"bracket-align": false,
|
||||||
|
"code-complexity": false,
|
||||||
|
"const-name-snakecase": "error",
|
||||||
|
"expression-indent": "error",
|
||||||
|
"function-max-lines": false,
|
||||||
|
"func-order": "error",
|
||||||
|
"indent": ["error", 4],
|
||||||
|
"max-line-length": ["warn", 160],
|
||||||
|
"no-inline-assembly": false,
|
||||||
|
"quotes": ["error", "double"],
|
||||||
|
"separate-by-one-line-in-contract": "error",
|
||||||
|
"space-after-comma": "error",
|
||||||
|
"statement-indent": "error"
|
||||||
|
}
|
||||||
|
}
|
16
contracts/tokens/CHANGELOG.json
Normal file
16
contracts/tokens/CHANGELOG.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
[
|
||||||
|
{
|
||||||
|
"name": "ZRXToken",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"changes": [
|
||||||
|
{
|
||||||
|
"note": "protocol v1 deploy",
|
||||||
|
"networks": {
|
||||||
|
"1": "0xe41d2489571d322189246dafa5ebde1f4699f498",
|
||||||
|
"3": "0xff67881f8d12f372d91baae9752eb3631ff0ed00",
|
||||||
|
"42": "0x2002d3812f58e35f0ea1ffbf80a75a38c32175fa"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
74
contracts/tokens/README.md
Normal file
74
contracts/tokens/README.md
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
## Token contracts
|
||||||
|
|
||||||
|
Token smart contracts that are used in the 0x protocol. Addresses of the deployed contracts can be found in the 0x [wiki](https://0xproject.com/wiki#Deployed-Addresses) or the [CHANGELOG](./CHANGELOG.json) of this package.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
Token contracts that make up and interact with version 2.0.0 of the protocol can be found in the [contracts](./contracts) directory. The contents of this directory are broken down into the following subdirectories:
|
||||||
|
|
||||||
|
* [tokens](./contracts/tokens)
|
||||||
|
* This directory contains implementations of different tokens and token standards, including [wETH](https://weth.io/), ZRX, [ERC20](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md), and [ERC721](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md).
|
||||||
|
* [test](./contracts/test)
|
||||||
|
* This directory contains mocks and other contracts that are used solely for testing contracts within the other directories.
|
||||||
|
|
||||||
|
## Bug bounty
|
||||||
|
|
||||||
|
A bug bounty for the 2.0.0 contracts is ongoing! Instructions can be found [here](https://0xproject.com/wiki#Bug-Bounty).
|
||||||
|
|
||||||
|
## Contributing
|
||||||
|
|
||||||
|
We strongly recommend that the community help us make improvements and determine the future direction of the protocol. To report bugs within this package, please create an issue in this repository.
|
||||||
|
|
||||||
|
For proposals regarding the 0x protocol's smart contract architecture, message format, or additional functionality, go to the [0x Improvement Proposals (ZEIPs)](https://github.com/0xProject/ZEIPs) repository and follow the contribution guidelines provided therein.
|
||||||
|
|
||||||
|
Please read our [contribution guidelines](../../CONTRIBUTING.md) before getting started.
|
||||||
|
|
||||||
|
### Install Dependencies
|
||||||
|
|
||||||
|
If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn config set workspaces-experimental true
|
||||||
|
```
|
||||||
|
|
||||||
|
Then install dependencies
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn install
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build
|
||||||
|
|
||||||
|
To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
PKG=@0x/contracts-tokens yarn build
|
||||||
|
```
|
||||||
|
|
||||||
|
Or continuously rebuild on change:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
PKG=@0x/contracts-tokens yarn watch
|
||||||
|
```
|
||||||
|
|
||||||
|
### Clean
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn clean
|
||||||
|
```
|
||||||
|
|
||||||
|
### Lint
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn lint
|
||||||
|
```
|
||||||
|
|
||||||
|
### Run Tests
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn test
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Testing options
|
||||||
|
|
||||||
|
Contracts testing options like coverage, profiling, revert traces or backing node choosing - are described [here](../TESTING.md).
|
44
contracts/tokens/compiler.json
Normal file
44
contracts/tokens/compiler.json
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"artifactsDir": "./generated-artifacts",
|
||||||
|
"contractsDir": "./contracts",
|
||||||
|
"compilerSettings": {
|
||||||
|
"optimizer": {
|
||||||
|
"enabled": true,
|
||||||
|
"runs": 1000000
|
||||||
|
},
|
||||||
|
"outputSelection": {
|
||||||
|
"*": {
|
||||||
|
"*": [
|
||||||
|
"abi",
|
||||||
|
"evm.bytecode.object",
|
||||||
|
"evm.bytecode.sourceMap",
|
||||||
|
"evm.deployedBytecode.object",
|
||||||
|
"evm.deployedBytecode.sourceMap"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"contracts": [
|
||||||
|
"DummyERC20Token",
|
||||||
|
"DummyMultipleReturnERC20Token",
|
||||||
|
"DummyNoReturnERC20Token",
|
||||||
|
"DummyERC721Receiver",
|
||||||
|
"InvalidERC721Receiver",
|
||||||
|
"DummyERC721Token",
|
||||||
|
"ReentrantERC20Token",
|
||||||
|
"ERC20Token",
|
||||||
|
"IERC20Token",
|
||||||
|
"MintableERC20Token",
|
||||||
|
"UnlimitedAllowanceERC20Token",
|
||||||
|
"ERC721Token",
|
||||||
|
"IERC721Receiver",
|
||||||
|
"IERC721Token",
|
||||||
|
"MintableERC721Token",
|
||||||
|
"IEtherToken",
|
||||||
|
"WETH9",
|
||||||
|
"ERC20Token_v1",
|
||||||
|
"Token_v1",
|
||||||
|
"UnlimitedAllowanceToken_v1",
|
||||||
|
"ZRXToken"
|
||||||
|
]
|
||||||
|
}
|
94
contracts/tokens/package.json
Normal file
94
contracts/tokens/package.json
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
{
|
||||||
|
"private": true,
|
||||||
|
"name": "@0x/contracts-tokens",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6.12"
|
||||||
|
},
|
||||||
|
"description": "Token contracts used by 0x protocol",
|
||||||
|
"main": "lib/src/index.js",
|
||||||
|
"directories": {
|
||||||
|
"test": "test"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"build": "yarn pre_build && tsc -b",
|
||||||
|
"build:ci": "yarn build",
|
||||||
|
"pre_build": "run-s compile generate_contract_wrappers",
|
||||||
|
"test": "yarn run_mocha",
|
||||||
|
"rebuild_and_test": "run-s build test",
|
||||||
|
"test:coverage": "SOLIDITY_COVERAGE=true run-s build run_mocha coverage:report:text coverage:report:lcov",
|
||||||
|
"test:profiler": "SOLIDITY_PROFILER=true run-s build run_mocha profiler:report:html",
|
||||||
|
"test:trace": "SOLIDITY_REVERT_TRACE=true run-s build run_mocha",
|
||||||
|
"run_mocha":
|
||||||
|
"mocha --require source-map-support/register --require make-promises-safe 'lib/test/**/*.js' --timeout 100000 --bail --exit",
|
||||||
|
"compile": "sol-compiler --contracts-dir contracts",
|
||||||
|
"clean": "shx rm -rf lib generated-artifacts generated-wrappers",
|
||||||
|
"generate_contract_wrappers": "abi-gen --abis ${npm_package_config_abis} --template ../../node_modules/@0x/abi-gen-templates/contract.handlebars --partials '../../node_modules/@0x/abi-gen-templates/partials/**/*.handlebars' --output generated-wrappers --backend ethers",
|
||||||
|
"lint": "tslint --format stylish --project . --exclude ./generated-wrappers/**/* --exclude ./generated-artifacts/**/* --exclude **/lib/**/* && yarn lint-contracts",
|
||||||
|
"coverage:report:text": "istanbul report text",
|
||||||
|
"coverage:report:html": "istanbul report html && open coverage/index.html",
|
||||||
|
"profiler:report:html": "istanbul report html && open coverage/index.html",
|
||||||
|
"coverage:report:lcov": "istanbul report lcov",
|
||||||
|
"test:circleci": "yarn test",
|
||||||
|
"lint-contracts": "solhint contracts/**/**/**/**/*.sol"
|
||||||
|
},
|
||||||
|
"config": {
|
||||||
|
"abis": "generated-artifacts/@(DummyERC20Token|DummyMultipleReturnERC20Token|DummyNoReturnERC20Token|DummyERC721Receiver|InvalidERC721Receiver|DummyERC721Token|ReentrantERC20Token|ERC20Token|IERC20Token|MintableERC20Token|UnlimitedAllowanceERC20Token|ERC721Token|IERC721Receiver|IERC721Token|MintableERC721Token|IEtherToken|WETH9|ERC20Token_v1|Token_v1|UnlimitedAllowanceToken_v1|ZRXToken).json"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/0xProject/0x-monorepo.git"
|
||||||
|
},
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/0xProject/0x-monorepo/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/0xProject/0x-monorepo/contracts/tokens/README.md",
|
||||||
|
"devDependencies": {
|
||||||
|
"@0x/contracts-test-utils": "^1.0.0",
|
||||||
|
"@0x/abi-gen": "^1.0.17",
|
||||||
|
"@0x/dev-utils": "^1.0.19",
|
||||||
|
"@0x/sol-compiler": "^1.1.14",
|
||||||
|
"@0x/sol-cov": "^2.1.14",
|
||||||
|
"@0x/subproviders": "^2.1.6",
|
||||||
|
"@0x/tslint-config": "^1.0.10",
|
||||||
|
"@types/bn.js": "^4.11.0",
|
||||||
|
"@types/lodash": "4.14.104",
|
||||||
|
"@types/node": "*",
|
||||||
|
"@types/yargs": "^10.0.0",
|
||||||
|
"chai": "^4.0.1",
|
||||||
|
"chai-as-promised": "^7.1.0",
|
||||||
|
"chai-bignumber": "^2.0.1",
|
||||||
|
"dirty-chai": "^2.0.1",
|
||||||
|
"make-promises-safe": "^1.1.0",
|
||||||
|
"ethereumjs-abi": "0.6.5",
|
||||||
|
"mocha": "^4.1.0",
|
||||||
|
"npm-run-all": "^4.1.2",
|
||||||
|
"shx": "^0.2.2",
|
||||||
|
"solc": "^0.4.24",
|
||||||
|
"solhint": "^1.2.1",
|
||||||
|
"tslint": "5.11.0",
|
||||||
|
"typescript": "3.0.1",
|
||||||
|
"yargs": "^10.0.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@0x/base-contract": "^3.0.8",
|
||||||
|
"@0x/order-utils": "^3.0.4",
|
||||||
|
"@0x/contracts-multisig": "^1.0.0",
|
||||||
|
"@0x/contracts-utils": "^1.0.0",
|
||||||
|
"@0x/contracts-libs": "^1.0.0",
|
||||||
|
"@0x/contracts-interfaces": "^1.0.0",
|
||||||
|
"@0x/types": "^1.3.0",
|
||||||
|
"@0x/typescript-typings": "^3.0.4",
|
||||||
|
"@0x/utils": "^2.0.6",
|
||||||
|
"@0x/web3-wrapper": "^3.1.6",
|
||||||
|
"@types/js-combinatorics": "^0.5.29",
|
||||||
|
"bn.js": "^4.11.8",
|
||||||
|
"ethereum-types": "^1.1.2",
|
||||||
|
"ethereumjs-util": "^5.1.1",
|
||||||
|
"lodash": "^4.17.5"
|
||||||
|
},
|
||||||
|
"publishConfig": {
|
||||||
|
"access": "public"
|
||||||
|
}
|
||||||
|
}
|
49
contracts/tokens/src/artifacts/index.ts
Normal file
49
contracts/tokens/src/artifacts/index.ts
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
import { ContractArtifact } from 'ethereum-types';
|
||||||
|
|
||||||
|
import * as DummyERC20Token from '../../generated-artifacts/DummyERC20Token.json';
|
||||||
|
import * as DummyERC721Receiver from '../../generated-artifacts/DummyERC721Receiver.json';
|
||||||
|
import * as DummyERC721Token from '../../generated-artifacts/DummyERC721Token.json';
|
||||||
|
import * as DummyMultipleReturnERC20Token from '../../generated-artifacts/DummyMultipleReturnERC20Token.json';
|
||||||
|
import * as DummyNoReturnERC20Token from '../../generated-artifacts/DummyNoReturnERC20Token.json';
|
||||||
|
import * as ERC20Token from '../../generated-artifacts/ERC20Token.json';
|
||||||
|
import * as ERC20Token_v1 from '../../generated-artifacts/ERC20Token_v1.json';
|
||||||
|
import * as ERC721Token from '../../generated-artifacts/ERC721Token.json';
|
||||||
|
import * as IERC20Token from '../../generated-artifacts/IERC20Token.json';
|
||||||
|
import * as IERC721Receiver from '../../generated-artifacts/IERC721Receiver.json';
|
||||||
|
import * as IERC721Token from '../../generated-artifacts/IERC721Token.json';
|
||||||
|
import * as IEtherToken from '../../generated-artifacts/IEtherToken.json';
|
||||||
|
import * as InvalidERC721Receiver from '../../generated-artifacts/InvalidERC721Receiver.json';
|
||||||
|
import * as MintableERC20Token from '../../generated-artifacts/MintableERC20Token.json';
|
||||||
|
import * as MintableERC721Token from '../../generated-artifacts/MintableERC721Token.json';
|
||||||
|
import * as ReentrantERC20Token from '../../generated-artifacts/ReentrantERC20Token.json';
|
||||||
|
import * as Token_v1 from '../../generated-artifacts/Token_v1.json';
|
||||||
|
import * as UnlimitedAllowanceERC20Token from '../../generated-artifacts/UnlimitedAllowanceERC20Token.json';
|
||||||
|
import * as UnlimitedAllowanceToken_v1 from '../../generated-artifacts/UnlimitedAllowanceToken_v1.json';
|
||||||
|
import * as WETH9 from '../../generated-artifacts/WETH9.json';
|
||||||
|
import * as ZRXToken from '../../generated-artifacts/ZRXToken.json';
|
||||||
|
|
||||||
|
export const artifacts = {
|
||||||
|
DummyERC20Token: DummyERC20Token as ContractArtifact,
|
||||||
|
DummyMultipleReturnERC20Token: DummyMultipleReturnERC20Token as ContractArtifact,
|
||||||
|
DummyNoReturnERC20Token: DummyNoReturnERC20Token as ContractArtifact,
|
||||||
|
DummyERC721Receiver: DummyERC721Receiver as ContractArtifact,
|
||||||
|
InvalidERC721Receiver: InvalidERC721Receiver as ContractArtifact,
|
||||||
|
DummyERC721Token: DummyERC721Token as ContractArtifact,
|
||||||
|
ReentrantERC20Token: ReentrantERC20Token as ContractArtifact,
|
||||||
|
ERC20Token: ERC20Token as ContractArtifact,
|
||||||
|
IERC20Token: IERC20Token as ContractArtifact,
|
||||||
|
MintableERC20Token: MintableERC20Token as ContractArtifact,
|
||||||
|
UnlimitedAllowanceERC20Token: UnlimitedAllowanceERC20Token as ContractArtifact,
|
||||||
|
ERC721Token: ERC721Token as ContractArtifact,
|
||||||
|
IERC721Receiver: IERC721Receiver as ContractArtifact,
|
||||||
|
IERC721Token: IERC721Token as ContractArtifact,
|
||||||
|
MintableERC721Token: MintableERC721Token as ContractArtifact,
|
||||||
|
IEtherToken: IEtherToken as ContractArtifact,
|
||||||
|
WETH9: WETH9 as ContractArtifact,
|
||||||
|
ERC20Token_v1: ERC20Token_v1 as ContractArtifact,
|
||||||
|
Token_v1: Token_v1 as ContractArtifact,
|
||||||
|
UnlimitedAllowanceToken_v1: UnlimitedAllowanceToken_v1 as ContractArtifact,
|
||||||
|
// Note(albrow): "as any" hack still required here because ZRXToken does not
|
||||||
|
// conform to the v2 artifact type.
|
||||||
|
ZRXToken: (ZRXToken as any) as ContractArtifact,
|
||||||
|
};
|
2
contracts/tokens/src/index.ts
Normal file
2
contracts/tokens/src/index.ts
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
export * from './wrappers';
|
||||||
|
export * from './artifacts';
|
21
contracts/tokens/src/wrappers/index.ts
Normal file
21
contracts/tokens/src/wrappers/index.ts
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
export * from '../../generated-wrappers/zrx_token';
|
||||||
|
export * from '../../generated-wrappers/weth9';
|
||||||
|
export * from '../../generated-wrappers/unlimitedallowancetoken_v1';
|
||||||
|
export * from '../../generated-wrappers/unlimited_allowance_erc20_token';
|
||||||
|
export * from '../../generated-wrappers/token_v1';
|
||||||
|
export * from '../../generated-wrappers/reentrant_erc20_token';
|
||||||
|
export * from '../../generated-wrappers/mintable_erc721_token';
|
||||||
|
export * from '../../generated-wrappers/mintable_erc20_token';
|
||||||
|
export * from '../../generated-wrappers/invalid_erc721_receiver';
|
||||||
|
export * from '../../generated-wrappers/i_ether_token';
|
||||||
|
export * from '../../generated-wrappers/i_erc721_token';
|
||||||
|
export * from '../../generated-wrappers/i_erc721_receiver';
|
||||||
|
export * from '../../generated-wrappers/i_erc20_token';
|
||||||
|
export * from '../../generated-wrappers/erc721_token';
|
||||||
|
export * from '../../generated-wrappers/erc20token_v1';
|
||||||
|
export * from '../../generated-wrappers/erc20_token';
|
||||||
|
export * from '../../generated-wrappers/dummy_no_return_erc20_token';
|
||||||
|
export * from '../../generated-wrappers/dummy_multiple_return_erc20_token';
|
||||||
|
export * from '../../generated-wrappers/dummy_erc721_token';
|
||||||
|
export * from '../../generated-wrappers/dummy_erc721_receiver';
|
||||||
|
export * from '../../generated-wrappers/dummy_erc20_token';
|
@ -15,15 +15,13 @@ import * as chai from 'chai';
|
|||||||
import { LogWithDecodedArgs } from 'ethereum-types';
|
import { LogWithDecodedArgs } from 'ethereum-types';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
|
artifacts,
|
||||||
DummyERC721ReceiverContract,
|
DummyERC721ReceiverContract,
|
||||||
DummyERC721ReceiverTokenReceivedEventArgs,
|
DummyERC721ReceiverTokenReceivedEventArgs,
|
||||||
} from '../../generated-wrappers/dummy_erc721_receiver';
|
|
||||||
import {
|
|
||||||
DummyERC721TokenContract,
|
DummyERC721TokenContract,
|
||||||
DummyERC721TokenTransferEventArgs,
|
DummyERC721TokenTransferEventArgs,
|
||||||
} from '../../generated-wrappers/dummy_erc721_token';
|
InvalidERC721ReceiverContract,
|
||||||
import { InvalidERC721ReceiverContract } from '../../generated-wrappers/invalid_erc721_receiver';
|
} from '../src';
|
||||||
import { artifacts } from '../../src/artifacts';
|
|
||||||
|
|
||||||
chaiSetup.configure();
|
chaiSetup.configure();
|
||||||
const expect = chai.expect;
|
const expect = chai.expect;
|
17
contracts/tokens/test/global_hooks.ts
Normal file
17
contracts/tokens/test/global_hooks.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import { env, EnvVars } from '@0x/dev-utils';
|
||||||
|
|
||||||
|
import { coverage, profiler, provider } from '@0x/contracts-test-utils';
|
||||||
|
before('start web3 provider', () => {
|
||||||
|
provider.start();
|
||||||
|
});
|
||||||
|
after('generate coverage report', async () => {
|
||||||
|
if (env.parseBoolean(EnvVars.SolidityCoverage)) {
|
||||||
|
const coverageSubprovider = coverage.getCoverageSubproviderSingleton();
|
||||||
|
await coverageSubprovider.writeCoverageAsync();
|
||||||
|
}
|
||||||
|
if (env.parseBoolean(EnvVars.SolidityProfiler)) {
|
||||||
|
const profilerSubprovider = profiler.getProfilerSubproviderSingleton();
|
||||||
|
await profilerSubprovider.writeProfilerOutputAsync();
|
||||||
|
}
|
||||||
|
provider.stop();
|
||||||
|
});
|
@ -11,8 +11,7 @@ import { RevertReason } from '@0x/types';
|
|||||||
import { BigNumber } from '@0x/utils';
|
import { BigNumber } from '@0x/utils';
|
||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
|
|
||||||
import { DummyERC20TokenContract } from '../../generated-wrappers/dummy_erc20_token';
|
import { artifacts, DummyERC20TokenContract } from '../src';
|
||||||
import { artifacts } from '../../src/artifacts';
|
|
||||||
|
|
||||||
chaiSetup.configure();
|
chaiSetup.configure();
|
||||||
const expect = chai.expect;
|
const expect = chai.expect;
|
@ -12,8 +12,7 @@ import { BigNumber } from '@0x/utils';
|
|||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
|
|
||||||
import { WETH9Contract } from '../../generated-wrappers/weth9';
|
import { artifacts, WETH9Contract } from '../src';
|
||||||
import { artifacts } from '../../src/artifacts';
|
|
||||||
|
|
||||||
chaiSetup.configure();
|
chaiSetup.configure();
|
||||||
const expect = chai.expect;
|
const expect = chai.expect;
|
@ -4,8 +4,7 @@ import { BigNumber } from '@0x/utils';
|
|||||||
import { Web3Wrapper } from '@0x/web3-wrapper';
|
import { Web3Wrapper } from '@0x/web3-wrapper';
|
||||||
import * as chai from 'chai';
|
import * as chai from 'chai';
|
||||||
|
|
||||||
import { ZRXTokenContract } from '../../generated-wrappers/zrx_token';
|
import { artifacts, ZRXTokenContract } from '../src';
|
||||||
import { artifacts } from '../../src/artifacts';
|
|
||||||
|
|
||||||
chaiSetup.configure();
|
chaiSetup.configure();
|
||||||
const expect = chai.expect;
|
const expect = chai.expect;
|
33
contracts/tokens/tsconfig.json
Normal file
33
contracts/tokens/tsconfig.json
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../tsconfig",
|
||||||
|
"compilerOptions": {
|
||||||
|
"outDir": "lib",
|
||||||
|
"rootDir": ".",
|
||||||
|
"resolveJsonModule": true
|
||||||
|
},
|
||||||
|
"include": ["./src/**/*", "./test/**/*", "./generated-wrappers/**/*"],
|
||||||
|
"files": [
|
||||||
|
"./generated-artifacts/DummyERC20Token.json",
|
||||||
|
"./generated-artifacts/DummyMultipleReturnERC20Token.json",
|
||||||
|
"./generated-artifacts/DummyNoReturnERC20Token.json",
|
||||||
|
"./generated-artifacts/DummyERC721Receiver.json",
|
||||||
|
"./generated-artifacts/InvalidERC721Receiver.json",
|
||||||
|
"./generated-artifacts/DummyERC721Token.json",
|
||||||
|
"./generated-artifacts/ReentrantERC20Token.json",
|
||||||
|
"./generated-artifacts/ERC20Token.json",
|
||||||
|
"./generated-artifacts/IERC20Token.json",
|
||||||
|
"./generated-artifacts/MintableERC20Token.json",
|
||||||
|
"./generated-artifacts/UnlimitedAllowanceERC20Token.json",
|
||||||
|
"./generated-artifacts/ERC721Token.json",
|
||||||
|
"./generated-artifacts/IERC721Receiver.json",
|
||||||
|
"./generated-artifacts/IERC721Token.json",
|
||||||
|
"./generated-artifacts/MintableERC721Token.json",
|
||||||
|
"./generated-artifacts/IEtherToken.json",
|
||||||
|
"./generated-artifacts/WETH9.json",
|
||||||
|
"./generated-artifacts/ERC20Token_v1.json",
|
||||||
|
"./generated-artifacts/Token_v1.json",
|
||||||
|
"./generated-artifacts/UnlimitedAllowanceToken_v1.json",
|
||||||
|
"./generated-artifacts/ZRXToken.json"
|
||||||
|
],
|
||||||
|
"exclude": ["./deploy/solc/solc_bin"]
|
||||||
|
}
|
6
contracts/tokens/tslint.json
Normal file
6
contracts/tokens/tslint.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"extends": ["@0x/tslint-config"],
|
||||||
|
"rules": {
|
||||||
|
"custom-no-magic-numbers": false
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user