@0x/contracts-zero-ex: Add IZeroEx contract.

This commit is contained in:
Lawrence Forman 2020-07-22 22:59:46 -04:00
parent 145ec8ede1
commit 07a681c77e
8 changed files with 64 additions and 2 deletions

View File

@ -0,0 +1,53 @@
/*
Copyright 2020 ZeroEx Intl.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
pragma solidity ^0.6.5;
pragma experimental ABIEncoderV2;
import "./features/IOwnable.sol";
import "./features/ISimpleFunctionRegistry.sol";
import "./features/ITokenSpender.sol";
import "./features/ISignatureValidator.sol";
import "./features/ITransformERC20.sol";
import "./features/IMetaTransactions.sol";
/// @dev Interface for a fully featured Exchange Proxy.
interface IZeroEx is
IOwnable,
ISimpleFunctionRegistry,
ITokenSpender,
ISignatureValidator,
ITransformERC20,
IMetaTransactions
{
// solhint-disable state-visibility
/// @dev Fallback for just receiving ether.
receive() external payable;
// solhint-enable state-visibility
/// @dev Get the implementation contract of a registered function.
/// @param selector The function selector.
/// @return impl The implementation contract address.
function getFunctionImplementation(bytes4 selector)
external
view
returns (address impl);
}

View File

@ -39,9 +39,9 @@
"publish:private": "yarn build && gitpkg publish" "publish:private": "yarn build && gitpkg publish"
}, },
"config": { "config": {
"publicInterfaceContracts": "ZeroEx,FullMigration,InitialMigration,IFlashWallet,IAllowanceTarget,IERC20Transformer,IOwnable,ISimpleFunctionRegistry,ITokenSpender,ITransformERC20,FillQuoteTransformer,PayTakerTransformer,WethTransformer,Ownable,SimpleFunctionRegistry,TransformERC20,TokenSpender,AffiliateFeeTransformer,SignatureValidator,MetaTransactions", "publicInterfaceContracts": "IZeroEx,ZeroEx,FullMigration,InitialMigration,IFlashWallet,IAllowanceTarget,IERC20Transformer,IOwnable,ISimpleFunctionRegistry,ITokenSpender,ITransformERC20,FillQuoteTransformer,PayTakerTransformer,WethTransformer,Ownable,SimpleFunctionRegistry,TransformERC20,TokenSpender,AffiliateFeeTransformer,SignatureValidator,MetaTransactions",
"abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.", "abis:comment": "This list is auto-generated by contracts-gen. Don't edit manually.",
"abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|AllowanceTarget|Bootstrap|FillQuoteTransformer|FixinCommon|FixinEIP712|FixinGasToken|FlashWallet|FullMigration|IAllowanceTarget|IBootstrap|IERC20Bridge|IERC20Transformer|IExchange|IFeature|IFlashWallet|IGasToken|IMetaTransactions|IOwnable|ISignatureValidator|ISimpleFunctionRegistry|ITestSimpleFunctionRegistryFeature|ITokenSpender|ITransformERC20|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC20Transformer|LibMetaTransactionsRichErrors|LibMetaTransactionsStorage|LibMigrate|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibSignatureRichErrors|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibSpenderRichErrors|LibStorage|LibTokenSpenderStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|MetaTransactions|Ownable|PayTakerTransformer|SignatureValidator|SimpleFunctionRegistry|TestCallTarget|TestDelegateCaller|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFullMigration|TestInitialMigration|TestMetaTransactionsTransformERC20Feature|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC20Token|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestTokenSpender|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestWeth|TestWethTransformerHost|TestZeroExFeature|TokenSpender|TransformERC20|Transformer|TransformerDeployer|WethTransformer|ZeroEx).json" "abis": "./test/generated-artifacts/@(AffiliateFeeTransformer|AllowanceTarget|Bootstrap|FillQuoteTransformer|FixinCommon|FixinEIP712|FixinGasToken|FlashWallet|FullMigration|IAllowanceTarget|IBootstrap|IERC20Bridge|IERC20Transformer|IExchange|IFeature|IFlashWallet|IGasToken|IMetaTransactions|IOwnable|ISignatureValidator|ISimpleFunctionRegistry|ITestSimpleFunctionRegistryFeature|ITokenSpender|ITransformERC20|IZeroEx|InitialMigration|LibBootstrap|LibCommonRichErrors|LibERC20Transformer|LibMetaTransactionsRichErrors|LibMetaTransactionsStorage|LibMigrate|LibOwnableRichErrors|LibOwnableStorage|LibProxyRichErrors|LibProxyStorage|LibSignatureRichErrors|LibSignedCallData|LibSimpleFunctionRegistryRichErrors|LibSimpleFunctionRegistryStorage|LibSpenderRichErrors|LibStorage|LibTokenSpenderStorage|LibTransformERC20RichErrors|LibTransformERC20Storage|LibWalletRichErrors|MetaTransactions|Ownable|PayTakerTransformer|SignatureValidator|SimpleFunctionRegistry|TestCallTarget|TestDelegateCaller|TestFillQuoteTransformerBridge|TestFillQuoteTransformerExchange|TestFillQuoteTransformerHost|TestFullMigration|TestInitialMigration|TestMetaTransactionsTransformERC20Feature|TestMigrator|TestMintTokenERC20Transformer|TestMintableERC20Token|TestSimpleFunctionRegistryFeatureImpl1|TestSimpleFunctionRegistryFeatureImpl2|TestTokenSpender|TestTokenSpenderERC20Token|TestTransformERC20|TestTransformerBase|TestTransformerDeployerTransformer|TestTransformerHost|TestWeth|TestWethTransformerHost|TestZeroExFeature|TokenSpender|TransformERC20|Transformer|TransformerDeployer|WethTransformer|ZeroEx).json"
}, },
"repository": { "repository": {
"type": "git", "type": "git",

View File

@ -16,6 +16,7 @@ import * as IOwnable from '../generated-artifacts/IOwnable.json';
import * as ISimpleFunctionRegistry from '../generated-artifacts/ISimpleFunctionRegistry.json'; import * as ISimpleFunctionRegistry from '../generated-artifacts/ISimpleFunctionRegistry.json';
import * as ITokenSpender from '../generated-artifacts/ITokenSpender.json'; import * as ITokenSpender from '../generated-artifacts/ITokenSpender.json';
import * as ITransformERC20 from '../generated-artifacts/ITransformERC20.json'; import * as ITransformERC20 from '../generated-artifacts/ITransformERC20.json';
import * as IZeroEx from '../generated-artifacts/IZeroEx.json';
import * as MetaTransactions from '../generated-artifacts/MetaTransactions.json'; import * as MetaTransactions from '../generated-artifacts/MetaTransactions.json';
import * as Ownable from '../generated-artifacts/Ownable.json'; import * as Ownable from '../generated-artifacts/Ownable.json';
import * as PayTakerTransformer from '../generated-artifacts/PayTakerTransformer.json'; import * as PayTakerTransformer from '../generated-artifacts/PayTakerTransformer.json';
@ -26,6 +27,7 @@ import * as TransformERC20 from '../generated-artifacts/TransformERC20.json';
import * as WethTransformer from '../generated-artifacts/WethTransformer.json'; import * as WethTransformer from '../generated-artifacts/WethTransformer.json';
import * as ZeroEx from '../generated-artifacts/ZeroEx.json'; import * as ZeroEx from '../generated-artifacts/ZeroEx.json';
export const artifacts = { export const artifacts = {
IZeroEx: IZeroEx as ContractArtifact,
ZeroEx: ZeroEx as ContractArtifact, ZeroEx: ZeroEx as ContractArtifact,
FullMigration: FullMigration as ContractArtifact, FullMigration: FullMigration as ContractArtifact,
InitialMigration: InitialMigration as ContractArtifact, InitialMigration: InitialMigration as ContractArtifact,

View File

@ -8,6 +8,7 @@ export {
ISimpleFunctionRegistryEvents, ISimpleFunctionRegistryEvents,
ITokenSpenderContract, ITokenSpenderContract,
ITransformERC20Contract, ITransformERC20Contract,
IZeroExContract,
PayTakerTransformerContract, PayTakerTransformerContract,
WethTransformerContract, WethTransformerContract,
ZeroExContract, ZeroExContract,

View File

@ -13,6 +13,7 @@ export * from '../generated-wrappers/i_ownable';
export * from '../generated-wrappers/i_simple_function_registry'; export * from '../generated-wrappers/i_simple_function_registry';
export * from '../generated-wrappers/i_token_spender'; export * from '../generated-wrappers/i_token_spender';
export * from '../generated-wrappers/i_transform_erc20'; export * from '../generated-wrappers/i_transform_erc20';
export * from '../generated-wrappers/i_zero_ex';
export * from '../generated-wrappers/initial_migration'; export * from '../generated-wrappers/initial_migration';
export * from '../generated-wrappers/meta_transactions'; export * from '../generated-wrappers/meta_transactions';
export * from '../generated-wrappers/ownable'; export * from '../generated-wrappers/ownable';

View File

@ -30,6 +30,7 @@ import * as ISimpleFunctionRegistry from '../test/generated-artifacts/ISimpleFun
import * as ITestSimpleFunctionRegistryFeature from '../test/generated-artifacts/ITestSimpleFunctionRegistryFeature.json'; import * as ITestSimpleFunctionRegistryFeature from '../test/generated-artifacts/ITestSimpleFunctionRegistryFeature.json';
import * as ITokenSpender from '../test/generated-artifacts/ITokenSpender.json'; import * as ITokenSpender from '../test/generated-artifacts/ITokenSpender.json';
import * as ITransformERC20 from '../test/generated-artifacts/ITransformERC20.json'; import * as ITransformERC20 from '../test/generated-artifacts/ITransformERC20.json';
import * as IZeroEx from '../test/generated-artifacts/IZeroEx.json';
import * as LibBootstrap from '../test/generated-artifacts/LibBootstrap.json'; import * as LibBootstrap from '../test/generated-artifacts/LibBootstrap.json';
import * as LibCommonRichErrors from '../test/generated-artifacts/LibCommonRichErrors.json'; import * as LibCommonRichErrors from '../test/generated-artifacts/LibCommonRichErrors.json';
import * as LibERC20Transformer from '../test/generated-artifacts/LibERC20Transformer.json'; import * as LibERC20Transformer from '../test/generated-artifacts/LibERC20Transformer.json';
@ -84,6 +85,7 @@ import * as TransformerDeployer from '../test/generated-artifacts/TransformerDep
import * as WethTransformer from '../test/generated-artifacts/WethTransformer.json'; import * as WethTransformer from '../test/generated-artifacts/WethTransformer.json';
import * as ZeroEx from '../test/generated-artifacts/ZeroEx.json'; import * as ZeroEx from '../test/generated-artifacts/ZeroEx.json';
export const artifacts = { export const artifacts = {
IZeroEx: IZeroEx as ContractArtifact,
ZeroEx: ZeroEx as ContractArtifact, ZeroEx: ZeroEx as ContractArtifact,
LibCommonRichErrors: LibCommonRichErrors as ContractArtifact, LibCommonRichErrors: LibCommonRichErrors as ContractArtifact,
LibMetaTransactionsRichErrors: LibMetaTransactionsRichErrors as ContractArtifact, LibMetaTransactionsRichErrors: LibMetaTransactionsRichErrors as ContractArtifact,

View File

@ -27,6 +27,7 @@ export * from '../test/generated-wrappers/i_simple_function_registry';
export * from '../test/generated-wrappers/i_test_simple_function_registry_feature'; export * from '../test/generated-wrappers/i_test_simple_function_registry_feature';
export * from '../test/generated-wrappers/i_token_spender'; export * from '../test/generated-wrappers/i_token_spender';
export * from '../test/generated-wrappers/i_transform_erc20'; export * from '../test/generated-wrappers/i_transform_erc20';
export * from '../test/generated-wrappers/i_zero_ex';
export * from '../test/generated-wrappers/initial_migration'; export * from '../test/generated-wrappers/initial_migration';
export * from '../test/generated-wrappers/lib_bootstrap'; export * from '../test/generated-wrappers/lib_bootstrap';
export * from '../test/generated-wrappers/lib_common_rich_errors'; export * from '../test/generated-wrappers/lib_common_rich_errors';

View File

@ -13,6 +13,7 @@
"generated-artifacts/ISimpleFunctionRegistry.json", "generated-artifacts/ISimpleFunctionRegistry.json",
"generated-artifacts/ITokenSpender.json", "generated-artifacts/ITokenSpender.json",
"generated-artifacts/ITransformERC20.json", "generated-artifacts/ITransformERC20.json",
"generated-artifacts/IZeroEx.json",
"generated-artifacts/InitialMigration.json", "generated-artifacts/InitialMigration.json",
"generated-artifacts/MetaTransactions.json", "generated-artifacts/MetaTransactions.json",
"generated-artifacts/Ownable.json", "generated-artifacts/Ownable.json",
@ -47,6 +48,7 @@
"test/generated-artifacts/ITestSimpleFunctionRegistryFeature.json", "test/generated-artifacts/ITestSimpleFunctionRegistryFeature.json",
"test/generated-artifacts/ITokenSpender.json", "test/generated-artifacts/ITokenSpender.json",
"test/generated-artifacts/ITransformERC20.json", "test/generated-artifacts/ITransformERC20.json",
"test/generated-artifacts/IZeroEx.json",
"test/generated-artifacts/InitialMigration.json", "test/generated-artifacts/InitialMigration.json",
"test/generated-artifacts/LibBootstrap.json", "test/generated-artifacts/LibBootstrap.json",
"test/generated-artifacts/LibCommonRichErrors.json", "test/generated-artifacts/LibCommonRichErrors.json",