# Interface: GanacheProvider ## Methods ### sendAsync ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* *Defined in [ethereum-types/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L14)* **Parameters:** Name | Type | ------ | ------ | `payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | `callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | **Returns:** *void*
# Interface: ContractAddresses ## Properties ### assetProxyOwner • **assetProxyOwner**: *string* *Defined in [contract-addresses/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L9)* ___ ### coordinator • **coordinator**: *string* *Defined in [contract-addresses/src/index.ts:14](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L14)* ___ ### coordinatorRegistry • **coordinatorRegistry**: *string* *Defined in [contract-addresses/src/index.ts:13](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L13)* ___ ### devUtils • **devUtils**: *string* *Defined in [contract-addresses/src/index.ts:18](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L18)* ___ ### dutchAuction • **dutchAuction**: *string* *Defined in [contract-addresses/src/index.ts:12](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L12)* ___ ### erc1155Proxy • **erc1155Proxy**: *string* *Defined in [contract-addresses/src/index.ts:17](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L17)* ___ ### erc20Proxy • **erc20Proxy**: *string* *Defined in [contract-addresses/src/index.ts:4](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L4)* ___ ### erc721Proxy • **erc721Proxy**: *string* *Defined in [contract-addresses/src/index.ts:5](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L5)* ___ ### etherToken • **etherToken**: *string* *Defined in [contract-addresses/src/index.ts:7](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L7)* ___ ### exchange • **exchange**: *string* *Defined in [contract-addresses/src/index.ts:8](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L8)* ___ ### forwarder • **forwarder**: *string* *Defined in [contract-addresses/src/index.ts:10](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L10)* ___ ### multiAssetProxy • **multiAssetProxy**: *string* *Defined in [contract-addresses/src/index.ts:15](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L15)* ___ ### orderValidator • **orderValidator**: *string* *Defined in [contract-addresses/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L11)* ___ ### staticCallProxy • **staticCallProxy**: *string* *Defined in [contract-addresses/src/index.ts:16](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L16)* ___ ### zrxToken • **zrxToken**: *string* *Defined in [contract-addresses/src/index.ts:6](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L6)*
# Interface: EIP1193Provider ## Properties ### isEIP1193 • **isEIP1193**: *boolean* *Defined in [ethereum-types/src/index.ts:73](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L73)* ## Methods ### on ▸ **on**(`event`: [EIP1193Event](#eip1193event), `listener`: function): *this* *Defined in [ethereum-types/src/index.ts:75](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L75)* **Parameters:** ▪ **event**: *[EIP1193Event](#eip1193event)* ▪ **listener**: *function* ▸ (`result`: any): *void* **Parameters:** Name | Type | ------ | ------ | `result` | any | **Returns:** *this* ___ ### send ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* *Defined in [ethereum-types/src/index.ts:74](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L74)* **Parameters:** Name | Type | ------ | ------ | `method` | string | `params?` | any[] | **Returns:** *`Promise`*
# Interface: JSONRPCRequestPayload ## Properties ### id • **id**: *number* *Defined in [ethereum-types/src/index.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L324)* ___ ### jsonrpc • **jsonrpc**: *string* *Defined in [ethereum-types/src/index.ts:325](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L325)* ___ ### method • **method**: *string* *Defined in [ethereum-types/src/index.ts:323](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L323)* ___ ### params • **params**: *any[]* *Defined in [ethereum-types/src/index.ts:322](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L322)*
# Interface: JSONRPCResponseError ## Properties ### code • **code**: *number* *Defined in [ethereum-types/src/index.ts:330](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L330)* ___ ### message • **message**: *string* *Defined in [ethereum-types/src/index.ts:329](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L329)*
# Interface: JSONRPCResponsePayload ## Properties ### `Optional` error • **error**? : *[JSONRPCResponseError](#class-jsonrpcresponseerror)* *Defined in [ethereum-types/src/index.ts:337](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L337)* ___ ### id • **id**: *number* *Defined in [ethereum-types/src/index.ts:335](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L335)* ___ ### jsonrpc • **jsonrpc**: *string* *Defined in [ethereum-types/src/index.ts:336](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L336)* ___ ### result • **result**: *any* *Defined in [ethereum-types/src/index.ts:334](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L334)*
# Interface: TxData ## Properties ### `Optional` data • **data**? : *undefined | string* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* *Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* ___ ### from • **from**: *string* *Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* ___ ### `Optional` gas • **gas**? : *number | string | `BigNumber`* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* *Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* ___ ### `Optional` gasPrice • **gasPrice**? : *number | string | `BigNumber`* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* *Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* ___ ### `Optional` nonce • **nonce**? : *undefined | number* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* *Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* ___ ### `Optional` to • **to**? : *undefined | string* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* *Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* ___ ### `Optional` value • **value**? : *number | string | `BigNumber`* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[value](#optional-value)* *Defined in [ethereum-types/src/index.ts:384](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L384)*
# Interface: TxDataPayable ## Properties ### `Optional` data • **data**? : *undefined | string* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[data](#optional-data)* *Defined in [ethereum-types/src/index.ts:387](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L387)* ___ ### from • **from**: *string* *Inherited from [TxData](#interface-txdata).[from](#from)* *Defined in [ethereum-types/src/index.ts:392](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L392)* ___ ### `Optional` gas • **gas**? : *number | string | `BigNumber`* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gas](#optional-gas)* *Defined in [ethereum-types/src/index.ts:385](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L385)* ___ ### `Optional` gasPrice • **gasPrice**? : *number | string | `BigNumber`* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[gasPrice](#optional-gasprice)* *Defined in [ethereum-types/src/index.ts:386](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L386)* ___ ### `Optional` nonce • **nonce**? : *undefined | number* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[nonce](#optional-nonce)* *Defined in [ethereum-types/src/index.ts:388](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L388)* ___ ### `Optional` to • **to**? : *undefined | string* *Inherited from [CallTxDataBase](#interface-calltxdatabase).[to](#optional-to)* *Defined in [ethereum-types/src/index.ts:383](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L383)* ___ ### `Optional` value • **value**? : *`BigNumber`* *Overrides [CallTxDataBase](_ethereum_types_src_index_.calltxdatabase.md).[value](#optional-value)* *Defined in [ethereum-types/src/index.ts:434](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L434)*
# Interface: Web3JsV1Provider Web3.js version 1 provider interface This provider interface was implemented in the pre-1.0Beta releases for Web3.js. This interface allowed sending synchonous requests, support for which was later dropped. ## Methods ### send ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md)): *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* *Defined in [ethereum-types/src/index.ts:45](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L45)* **Parameters:** Name | Type | ------ | ------ | `payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | **Returns:** *[JSONRPCResponsePayload](#class-jsonrpcresponsepayload)* ___ ### sendAsync ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* *Defined in [ethereum-types/src/index.ts:44](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L44)* **Parameters:** Name | Type | ------ | ------ | `payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | `callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | **Returns:** *void*
# Interface: Web3JsV2Provider Web3.js version 2 provider interface This provider interface was used in a couple of Web3.js 1.0 beta releases before the first attempts to conform to EIP1193 ## Methods ### send ▸ **send**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* *Defined in [ethereum-types/src/index.ts:54](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L54)* **Parameters:** Name | Type | ------ | ------ | `payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | `callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | **Returns:** *void*
# Interface: Web3JsV3Provider Web3.js version 3 provider interface This provider interface was implemented with the hopes for conforming to the EIP1193 spec, however it does not conform entirely. ## Methods ### send ▸ **send**(`method`: string, `params?`: any[]): *`Promise`* *Defined in [ethereum-types/src/index.ts:63](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L63)* **Parameters:** Name | Type | ------ | ------ | `method` | string | `params?` | any[] | **Returns:** *`Promise`*
# Interface: ZeroExProvider The interface for the provider used internally by 0x libraries Any property we use from any SupportedProvider should we explicitly add here ## Properties ### `Optional` isMetaMask • **isMetaMask**? : *undefined | false | true* *Defined in [ethereum-types/src/index.ts:31](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L31)* ___ ### `Optional` isParity • **isParity**? : *undefined | false | true* *Defined in [ethereum-types/src/index.ts:32](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L32)* ___ ### `Optional` isZeroExProvider • **isZeroExProvider**? : *undefined | false | true* *Defined in [ethereum-types/src/index.ts:30](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L30)* ## Methods ### `Optional` enable ▸ **enable**(): *`Promise`* *Defined in [ethereum-types/src/index.ts:34](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L34)* **Returns:** *`Promise`* ___ ### sendAsync ▸ **sendAsync**(`payload`: [JSONRPCRequestPayload](_ethereum_types_src_index_.jsonrpcrequestpayload.md), `callback`: [JSONRPCErrorCallback](#jsonrpcerrorcallback)): *void* *Defined in [ethereum-types/src/index.ts:35](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L35)* **Parameters:** Name | Type | ------ | ------ | `payload` | [JSONRPCRequestPayload](#class-jsonrpcrequestpayload) | `callback` | [JSONRPCErrorCallback](#jsonrpcerrorcallback) | **Returns:** *void* ___ ### `Optional` stop ▸ **stop**(): *void* *Defined in [ethereum-types/src/index.ts:33](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L33)* **Returns:** *void*
## Functions ### runMigrationsAsync ▸ **runMigrationsAsync**(`supportedProvider`: [SupportedProvider](#supportedprovider), `txDefaults`: `TxData`): *`Promise`* *Defined in [migrations/src/migration.ts:48](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/migrations/src/migration.ts#L48)* Creates and deploys all the contracts that are required for the latest version of the 0x protocol. **Parameters:** Name | Type | Description | ------ | ------ | ------ | `supportedProvider` | [SupportedProvider](#supportedprovider) | Web3 provider instance. Your provider instance should connect to the testnet you want to deploy to. | `txDefaults` | `TxData` | Default transaction values to use when deploying contracts (e.g., specify the desired contract creator with the `from` parameter). | **Returns:** *`Promise`* The addresses of the contracts that were deployed. ___ ### runMigrationsOnceAsync ▸ **runMigrationsOnceAsync**(`provider`: `Web3ProviderEngine`, `txDefaults`: `TxData`): *`Promise`* *Defined in [migrations/src/migration.ts:324](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/migrations/src/migration.ts#L324)* Exactly like runMigrationsAsync but will only run the migrations the first time it is called. Any subsequent calls will return the cached contract addresses. **Parameters:** Name | Type | Description | ------ | ------ | ------ | `provider` | `Web3ProviderEngine` | Web3 provider instance. Your provider instance should connect to the testnet you want to deploy to. | `txDefaults` | `TxData` | Default transaction values to use when deploying contracts (e.g., specify the desired contract creator with the `from` parameter). | **Returns:** *`Promise`* The addresses of the contracts that were deployed.
## Functions ### getContractAddressesForNetworkOrThrow ▸ **getContractAddressesForNetworkOrThrow**(`networkId`: [NetworkId](#enumeration-networkid)): *[ContractAddresses](#interface-contractaddresses)* *Defined in [contract-addresses/src/index.ts:128](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L128)* Used to get addresses of contracts that have been deployed to either the Ethereum mainnet or a supported testnet. Throws if there are no known contracts deployed on the corresponding network. **Parameters:** Name | Type | Description | ------ | ------ | ------ | `networkId` | [NetworkId](#enumeration-networkid) | The desired networkId. | **Returns:** *[ContractAddresses](#interface-contractaddresses)* The set of addresses for contracts which have been deployed on the given networkId. ___ ### getNetworkIdByExchangeAddressOrThrow ▸ **getNetworkIdByExchangeAddressOrThrow**(`exchangeAddress`: string): *[NetworkId](#enumeration-networkid)* *Defined in [contract-addresses/src/index.ts:142](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/contract-addresses/src/index.ts#L142)* Uses a given exchange address to look up the network id that the exchange contract is deployed on. Only works for Ethereum mainnet or a supported testnet. Throws if the exchange address does not correspond to a known deployed exchange contract. **Parameters:** Name | Type | Description | ------ | ------ | ------ | `exchangeAddress` | string | The exchange address of concern | **Returns:** *[NetworkId](#enumeration-networkid)* The network ID on which the exchange contract is deployed
## Type aliases ### EIP1193Event Ƭ **EIP1193Event**: *"accountsChanged" | "networkChanged" | "close" | "connect" | "notification"* *Defined in [ethereum-types/src/index.ts:70](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L70)* Interface for providers that conform to EIP 1193 Source: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1193.md ___ ### JSONRPCErrorCallback Ƭ **JSONRPCErrorCallback**: *function* *Defined in [ethereum-types/src/index.ts:3](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L3)* #### Type declaration: ▸ (`err`: `Error` | null, `result?`: [JSONRPCResponsePayload](#interface-jsonrpcresponsepayload)): *void* **Parameters:** Name | Type | ------ | ------ | `err` | `Error` \| null | `result?` | [JSONRPCResponsePayload](#interface-jsonrpcresponsepayload) | ___ ### SupportedProvider Ƭ **SupportedProvider**: *[Web3JsProvider](_ethereum_types_src_index_.md#web3jsprovider) | [GanacheProvider](#interface-ganacheprovider) | [EIP1193Provider](#interface-eip1193provider) | [ZeroExProvider](#interface-zeroexprovider)* *Defined in [ethereum-types/src/index.ts:9](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L9)* Do not create your own provider. Use an existing provider from a Web3 or ProviderEngine library Read more about Providers in the guides section of the 0x docs. ___ ### Web3JsProvider Ƭ **Web3JsProvider**: *[Web3JsV1Provider](#interface-web3jsv1provider) | [Web3JsV2Provider](#interface-web3jsv2provider) | [Web3JsV3Provider](#interface-web3jsv3provider)* *Defined in [ethereum-types/src/index.ts:11](https://github.com/0xProject/0x-monorepo/blob/23602ec6b/packages/ethereum-types/src/index.ts#L11)*