[API Reference](../README.md) > [DaoCreatorFactoryType](../classes/DaoCreatorFactoryType.md)

# Class: DaoCreatorFactoryType

defined just to add good type checking

## Hierarchy

 [ContractWrapperFactory](ContractWrapperFactory.md)<[DaoCreatorWrapper](DaoCreatorWrapper.md)>

**↳ DaoCreatorFactoryType**

## Implements

* [IContractWrapperFactory](../interfaces/IContractWrapperFactory.md)<[DaoCreatorWrapper](DaoCreatorWrapper.md)>

## Index

### Constructors

* [constructor](DaoCreatorFactoryType.md#constructor)

### Methods

* [at](DaoCreatorFactoryType.md#at)
* [deployed](DaoCreatorFactoryType.md#deployed)
* [ensureSolidityContract](DaoCreatorFactoryType.md#ensureSolidityContract)
* [new](DaoCreatorFactoryType.md#new)
* [clearContractCache](DaoCreatorFactoryType.md#clearContractCache)
* [setConfigService](DaoCreatorFactoryType.md#setConfigService)

---

## Constructors

<a id="constructor"></a>

###  constructor

⊕ **new DaoCreatorFactoryType**(solidityContractName: *`string`*, wrapper: *`object`*, web3EventService: *[Web3EventService](Web3EventService.md)*): [DaoCreatorFactoryType](DaoCreatorFactoryType.md)

*Inherited from [ContractWrapperFactory](ContractWrapperFactory.md).[constructor](ContractWrapperFactory.md#constructor)*

*Defined in [contractWrapperFactory.ts:33](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperFactory.ts#L33)*

Connstructor to create a contract wrapper factory for the given Arc contract name and wrapper class.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| solidityContractName | `string` |
| wrapper | `object` |  Class of the contract |
| web3EventService | [Web3EventService](Web3EventService.md) |

**Returns:** [DaoCreatorFactoryType](DaoCreatorFactoryType.md)

___

## Methods

<a id="at"></a>

###  at

▸ **at**(address: *`string`*): `Promise`<[DaoCreatorWrapper](DaoCreatorWrapper.md)>

*Inherited from [ContractWrapperFactory](ContractWrapperFactory.md).[at](ContractWrapperFactory.md#at)*

*Defined in [contractWrapperFactory.ts:80](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperFactory.ts#L80)*

Return a wrapper around the contract, hydrated from the given address. Returns undefined if not found.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| address | `string` |   |

**Returns:** `Promise`<[DaoCreatorWrapper](DaoCreatorWrapper.md)>

___
<a id="deployed"></a>

###  deployed

▸ **deployed**(): `Promise`<[DaoCreatorWrapper](DaoCreatorWrapper.md)>

*Inherited from [ContractWrapperFactory](ContractWrapperFactory.md).[deployed](ContractWrapperFactory.md#deployed)*

*Defined in [contractWrapperFactory.ts:97](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperFactory.ts#L97)*

Return a wrapper around the contract as deployed by the current version of Arc.js. Note this is usually not needed as the WrapperService provides these wrappers already hydrated. Returns undefined if not found.

**Returns:** `Promise`<[DaoCreatorWrapper](DaoCreatorWrapper.md)>

___
<a id="ensureSolidityContract"></a>

###  ensureSolidityContract

▸ **ensureSolidityContract**(): `Promise`<`any`>

*Implementation of [IContractWrapperFactory](../interfaces/IContractWrapperFactory.md).[ensureSolidityContract](../interfaces/IContractWrapperFactory.md#ensureSolidityContract)*

*Inherited from [ContractWrapperFactory](ContractWrapperFactory.md).[ensureSolidityContract](ContractWrapperFactory.md#ensureSolidityContract)*

*Defined in [contractWrapperFactory.ts:110](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperFactory.ts#L110)*

**Returns:** `Promise`<`any`>

___
<a id="new"></a>

###  new

▸ **new**(controllerCreatorAddress?: *[Address](../#Address)*): `Promise`<[DaoCreatorWrapper](DaoCreatorWrapper.md)>

*Overrides [ContractWrapperFactory](ContractWrapperFactory.md).[new](ContractWrapperFactory.md#new)*

*Defined in [wrappers/daoCreator.ts:495](https://github.com/daostack/arc.js/blob/6f704389/lib/wrappers/daoCreator.ts#L495)*

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| `Optional` controllerCreatorAddress | [Address](../#Address) |  The ControllerCreator that Arc will use when migrating a new non-universal controller in \`forgeOrg\`. Typically is \`ControllerCreator\` from Arc. |

**Returns:** `Promise`<[DaoCreatorWrapper](DaoCreatorWrapper.md)>

___
<a id="clearContractCache"></a>

### `<Static>` clearContractCache

▸ **clearContractCache**(): `void`

*Inherited from [ContractWrapperFactory](ContractWrapperFactory.md).[clearContractCache](ContractWrapperFactory.md#clearContractCache)*

*Defined in [contractWrapperFactory.ts:21](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperFactory.ts#L21)*

**Returns:** `void`

___
<a id="setConfigService"></a>

### `<Static>` setConfigService

▸ **setConfigService**(configService: *[IConfigService](../interfaces/IConfigService.md)*): `void`

*Inherited from [ContractWrapperFactory](ContractWrapperFactory.md).[setConfigService](ContractWrapperFactory.md#setConfigService)*

*Defined in [contractWrapperFactory.ts:17](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperFactory.ts#L17)*

**Parameters:**

| Param | Type |
| ------ | ------ |
| configService | [IConfigService](../interfaces/IConfigService.md) |

**Returns:** `void`

___

