aboutsummaryrefslogtreecommitdiffstats
path: root/packages/contract-wrappers/src/contract_wrappers.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/contract-wrappers/src/contract_wrappers.ts')
-rw-r--r--packages/contract-wrappers/src/contract_wrappers.ts171
1 files changed, 0 insertions, 171 deletions
diff --git a/packages/contract-wrappers/src/contract_wrappers.ts b/packages/contract-wrappers/src/contract_wrappers.ts
deleted file mode 100644
index 4e594593e..000000000
--- a/packages/contract-wrappers/src/contract_wrappers.ts
+++ /dev/null
@@ -1,171 +0,0 @@
-import {
- ERC20Proxy,
- ERC20Token,
- ERC721Proxy,
- ERC721Token,
- Exchange,
- Forwarder,
- OrderValidator,
- WETH9,
-} from '@0x/contract-artifacts';
-import { Web3Wrapper } from '@0x/web3-wrapper';
-import { Provider } from 'ethereum-types';
-import * as _ from 'lodash';
-
-import { DutchAuctionWrapper } from './contract_wrappers/dutch_auction_wrapper';
-import { ERC20ProxyWrapper } from './contract_wrappers/erc20_proxy_wrapper';
-import { ERC20TokenWrapper } from './contract_wrappers/erc20_token_wrapper';
-import { ERC721ProxyWrapper } from './contract_wrappers/erc721_proxy_wrapper';
-import { ERC721TokenWrapper } from './contract_wrappers/erc721_token_wrapper';
-import { EtherTokenWrapper } from './contract_wrappers/ether_token_wrapper';
-import { ExchangeWrapper } from './contract_wrappers/exchange_wrapper';
-import { ForwarderWrapper } from './contract_wrappers/forwarder_wrapper';
-import { OrderValidatorWrapper } from './contract_wrappers/order_validator_wrapper';
-import { ContractWrappersConfigSchema } from './schemas/contract_wrappers_config_schema';
-import { ContractWrappersConfig } from './types';
-import { assert } from './utils/assert';
-import { constants } from './utils/constants';
-import { _getDefaultContractAddresses } from './utils/contract_addresses';
-
-/**
- * The ContractWrappers class contains smart contract wrappers helpful when building on 0x protocol.
- */
-export class ContractWrappers {
- /**
- * An instance of the ExchangeWrapper class containing methods for interacting with the 0x Exchange smart contract.
- */
- public exchange: ExchangeWrapper;
- /**
- * An instance of the ERC20TokenWrapper class containing methods for interacting with any ERC20 token smart contract.
- */
- public erc20Token: ERC20TokenWrapper;
- /**
- * An instance of the ERC721TokenWrapper class containing methods for interacting with any ERC721 token smart contract.
- */
- public erc721Token: ERC721TokenWrapper;
- /**
- * An instance of the EtherTokenWrapper class containing methods for interacting with the
- * wrapped ETH ERC20 token smart contract.
- */
- public etherToken: EtherTokenWrapper;
- /**
- * An instance of the ERC20ProxyWrapper class containing methods for interacting with the
- * erc20Proxy smart contract.
- */
- public erc20Proxy: ERC20ProxyWrapper;
- /**
- * An instance of the ERC721ProxyWrapper class containing methods for interacting with the
- * erc721Proxy smart contract.
- */
- public erc721Proxy: ERC721ProxyWrapper;
- /**
- * An instance of the ForwarderWrapper class containing methods for interacting with any Forwarder smart contract.
- */
- public forwarder: ForwarderWrapper;
- /**
- * An instance of the OrderValidatorWrapper class containing methods for interacting with any OrderValidator smart contract.
- */
- public orderValidator: OrderValidatorWrapper;
- /**
- * An instance of the DutchAuctionWrapper class containing methods for interacting with any DutchAuction smart contract.
- */
- public dutchAuction: DutchAuctionWrapper;
-
- private readonly _web3Wrapper: Web3Wrapper;
- /**
- * Instantiates a new ContractWrappers instance.
- * @param provider The Provider instance you would like the contract-wrappers library to use for interacting with
- * the Ethereum network.
- * @param config The configuration object. Look up the type for the description.
- * @return An instance of the ContractWrappers class.
- */
- constructor(provider: Provider, config: ContractWrappersConfig) {
- assert.isWeb3Provider('provider', provider);
- assert.doesConformToSchema('config', config, ContractWrappersConfigSchema);
- const txDefaults = {
- gasPrice: config.gasPrice,
- };
- this._web3Wrapper = new Web3Wrapper(provider, txDefaults);
- const artifactsArray = [
- ERC20Proxy,
- ERC20Token,
- ERC721Proxy,
- ERC721Token,
- Exchange,
- Forwarder,
- OrderValidator,
- WETH9,
- ];
- _.forEach(artifactsArray, artifact => {
- this._web3Wrapper.abiDecoder.addABI(artifact.compilerOutput.abi);
- });
- const blockPollingIntervalMs = _.isUndefined(config.blockPollingIntervalMs)
- ? constants.DEFAULT_BLOCK_POLLING_INTERVAL
- : config.blockPollingIntervalMs;
- const contractAddresses = _.isUndefined(config.contractAddresses)
- ? _getDefaultContractAddresses(config.networkId)
- : config.contractAddresses;
- this.erc20Proxy = new ERC20ProxyWrapper(this._web3Wrapper, config.networkId, contractAddresses.erc20Proxy);
- this.erc721Proxy = new ERC721ProxyWrapper(this._web3Wrapper, config.networkId, contractAddresses.erc721Proxy);
- this.erc20Token = new ERC20TokenWrapper(
- this._web3Wrapper,
- config.networkId,
- this.erc20Proxy,
- blockPollingIntervalMs,
- );
- this.erc721Token = new ERC721TokenWrapper(
- this._web3Wrapper,
- config.networkId,
- this.erc721Proxy,
- blockPollingIntervalMs,
- );
- this.etherToken = new EtherTokenWrapper(
- this._web3Wrapper,
- config.networkId,
- this.erc20Token,
- blockPollingIntervalMs,
- );
- this.exchange = new ExchangeWrapper(
- this._web3Wrapper,
- config.networkId,
- this.erc20Token,
- this.erc721Token,
- contractAddresses.exchange,
- contractAddresses.zrxToken,
- blockPollingIntervalMs,
- );
- this.forwarder = new ForwarderWrapper(
- this._web3Wrapper,
- config.networkId,
- contractAddresses.forwarder,
- contractAddresses.zrxToken,
- contractAddresses.etherToken,
- );
- this.orderValidator = new OrderValidatorWrapper(
- this._web3Wrapper,
- config.networkId,
- contractAddresses.orderValidator,
- );
- this.dutchAuction = new DutchAuctionWrapper(
- this._web3Wrapper,
- config.networkId,
- contractAddresses.dutchAuction,
- );
- }
- /**
- * Unsubscribes from all subscriptions for all contracts.
- */
- public unsubscribeAll(): void {
- this.exchange.unsubscribeAll();
- this.erc20Token.unsubscribeAll();
- this.erc721Token.unsubscribeAll();
- this.etherToken.unsubscribeAll();
- }
- /**
- * Get the provider instance currently used by contract-wrappers
- * @return Web3 provider instance
- */
- public getProvider(): Provider {
- return this._web3Wrapper.getProvider();
- }
-}