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

# Class: DaoCreatorWrapper

## Hierarchy

 [ContractWrapperBase](ContractWrapperBase.md)

**↳ DaoCreatorWrapper**

## Implements

* [IContractWrapper](../interfaces/IContractWrapper.md)

## Index

### Constructors

* [constructor](DaoCreatorWrapper.md#constructor)

### Properties

* [InitialSchemesSet](DaoCreatorWrapper.md#InitialSchemesSet)
* [NewOrg](DaoCreatorWrapper.md#NewOrg)
* [contract](DaoCreatorWrapper.md#contract)
* [factory](DaoCreatorWrapper.md#factory)
* [friendlyName](DaoCreatorWrapper.md#friendlyName)
* [name](DaoCreatorWrapper.md#name)

### Accessors

* [address](DaoCreatorWrapper.md#address)

### Methods

* [estimateGas](DaoCreatorWrapper.md#estimateGas)
* [forgeOrg](DaoCreatorWrapper.md#forgeOrg)
* [forgeOrgTransactionsCount](DaoCreatorWrapper.md#forgeOrgTransactionsCount)
* [getParameters](DaoCreatorWrapper.md#getParameters)
* [getParametersArray](DaoCreatorWrapper.md#getParametersArray)
* [hydrateFromAt](DaoCreatorWrapper.md#hydrateFromAt)
* [hydrateFromNew](DaoCreatorWrapper.md#hydrateFromNew)
* [setSchemes](DaoCreatorWrapper.md#setSchemes)
* [setSchemesTransactionsCount](DaoCreatorWrapper.md#setSchemesTransactionsCount)

---

## Constructors

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

###  constructor

⊕ **new DaoCreatorWrapper**(solidityContract: *`any`*, web3EventService: *[Web3EventService](Web3EventService.md)*): [DaoCreatorWrapper](DaoCreatorWrapper.md)

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

*Defined in [contractWrapperBase.ts:66](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L66)*

ContractWrapperFactory constructs this

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| solidityContract | `any` |  The json contract truffle artifact |
| web3EventService | [Web3EventService](Web3EventService.md) |   |

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

___

## Properties

<a id="InitialSchemesSet"></a>

###  InitialSchemesSet

**● InitialSchemesSet**: *[EventFetcherFactory](../#EventFetcherFactory)<[InitialSchemesSetEventResult](../interfaces/InitialSchemesSetEventResult.md)>*

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

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

###  NewOrg

**● NewOrg**: *[EventFetcherFactory](../#EventFetcherFactory)<[NewOrgEventResult](../interfaces/NewOrgEventResult.md)>*

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

Events

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

###  contract

**● contract**: *`any`*

*Implementation of [IContractWrapper](../interfaces/IContractWrapper.md).[contract](../interfaces/IContractWrapper.md#contract)*

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[contract](ContractWrapperBase.md#contract)*

*Defined in [contractWrapperBase.ts:66](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L66)*

The underlying truffle contract object. Use this to access parts of the contract that aren't accessible via the wrapper.

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

###  factory

**● factory**: *[IContractWrapperFactory](../interfaces/IContractWrapperFactory.md)<[DaoCreatorWrapper](DaoCreatorWrapper.md)>* =  DaoCreatorFactory

*Implementation of [IContractWrapper](../interfaces/IContractWrapper.md).[factory](../interfaces/IContractWrapper.md#factory)*

*Overrides [ContractWrapperBase](ContractWrapperBase.md).[factory](ContractWrapperBase.md#factory)*

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

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

###  friendlyName

**● friendlyName**: *`string`* = "Dao Creator"

*Implementation of [IContractWrapper](../interfaces/IContractWrapper.md).[friendlyName](../interfaces/IContractWrapper.md#friendlyName)*

*Overrides [ContractWrapperBase](ContractWrapperBase.md).[friendlyName](ContractWrapperBase.md#friendlyName)*

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

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

###  name

**● name**: *`string`* = "DaoCreator"

*Implementation of [IContractWrapper](../interfaces/IContractWrapper.md).[name](../interfaces/IContractWrapper.md#name)*

*Overrides [ContractWrapperBase](ContractWrapperBase.md).[name](ContractWrapperBase.md#name)*

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

___

## Accessors

<a id="address"></a>

###  address

getaddress(): [Address](../#Address)

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[address](ContractWrapperBase.md#address)*

*Defined in [contractWrapperBase.ts:61](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L61)*

The address of the contract

**Returns:** [Address](../#Address)

___

## Methods

<a id="estimateGas"></a>

###  estimateGas

▸ **estimateGas**(func: *[ITruffleContractFunction](../interfaces/ITruffleContractFunction.md)*, params: *`Array`<`any`>*, web3Params?: *`any`*): `Promise`<`number`>

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[estimateGas](ContractWrapperBase.md#estimateGas)*

*Defined in [contractWrapperBase.ts:140](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L140)*

Estimate conservatively the amount of gas required to execute the given function with the given parameters. Adds 21000 to the estimate computed by web3.

**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| func | [ITruffleContractFunction](../interfaces/ITruffleContractFunction.md) | - |  The function |
| params | `Array`<`any`> | - |  The parameters to send to the function |
| `Default value` web3Params | `any` |  {} |  The web3 parameters (like "from", for example). If it contains "gas" then that value is returned, effectively a no-op. |

**Returns:** `Promise`<`number`>

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

###  forgeOrg

▸ **forgeOrg**(options?: *[ForgeOrgConfig](../interfaces/ForgeOrgConfig.md)*): `Promise`<[ArcTransactionResult](ArcTransactionResult.md)>

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

Create a new DAO

**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| `Default value` options | [ForgeOrgConfig](../interfaces/ForgeOrgConfig.md) |  {} as ForgeOrgConfig &amp; TxGeneratingFunctionOptions |   |

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

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

###  forgeOrgTransactionsCount

▸ **forgeOrgTransactionsCount**(options: *[ForgeOrgConfig](../interfaces/ForgeOrgConfig.md)*): `number`

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

**Parameters:**

| Param | Type |
| ------ | ------ |
| options | [ForgeOrgConfig](../interfaces/ForgeOrgConfig.md) |

**Returns:** `number`

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

###  getParameters

▸ **getParameters**(paramsHash: *[Hash](../#Hash)*): `Promise`<`any`>

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[getParameters](ContractWrapperBase.md#getParameters)*

*Defined in [contractWrapperBase.ts:118](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L118)*

Given a hash, returns the associated parameters as an object.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| paramsHash | [Hash](../#Hash) |   |

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

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

###  getParametersArray

▸ **getParametersArray**(paramsHash: *[Hash](../#Hash)*): `Promise`<`Array`<`any`>>

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[getParametersArray](ContractWrapperBase.md#getParametersArray)*

*Defined in [contractWrapperBase.ts:127](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L127)*

Given a hash, returns the associated parameters as an array, ordered by the order in which the parameters appear in the contract's Parameters struct.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| paramsHash | [Hash](../#Hash) |   |

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

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

###  hydrateFromAt

▸ **hydrateFromAt**(address: *`string`*): `Promise`<[IContractWrapper](../interfaces/IContractWrapper.md)>

*Implementation of [IContractWrapper](../interfaces/IContractWrapper.md).[hydrateFromAt](../interfaces/IContractWrapper.md#hydrateFromAt)*

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[hydrateFromAt](ContractWrapperBase.md#hydrateFromAt)*

*Defined in [contractWrapperBase.ts:100](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L100)*

Initialize from a given address on the current network.

**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| address | `string` |  of the deployed contract |

**Returns:** `Promise`<[IContractWrapper](../interfaces/IContractWrapper.md)>
this or undefined if not found

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

###  hydrateFromNew

▸ **hydrateFromNew**(...rest: *`Array`<`any`>*): `Promise`<[IContractWrapper](../interfaces/IContractWrapper.md)>

*Implementation of [IContractWrapper](../interfaces/IContractWrapper.md).[hydrateFromNew](../interfaces/IContractWrapper.md#hydrateFromNew)*

*Inherited from [ContractWrapperBase](ContractWrapperBase.md).[hydrateFromNew](ContractWrapperBase.md#hydrateFromNew)*

*Defined in [contractWrapperBase.ts:81](https://github.com/daostack/arc.js/blob/6f704389/lib/contractWrapperBase.ts#L81)*

Initialize from a newly-migrated instance. This will migrate a new instance of the contract to the net.

**Parameters:**

| Param | Type |
| ------ | ------ |
| `Rest` rest | `Array`<`any`> |

**Returns:** `Promise`<[IContractWrapper](../interfaces/IContractWrapper.md)>
this

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

###  setSchemes

▸ **setSchemes**(options?: *[SetSchemesConfig](../interfaces/SetSchemesConfig.md)*): `Promise`<[ArcTransactionResult](ArcTransactionResult.md)>

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

Register schemes with newly-created DAO. Can only be invoked by the agent that created the DAO via forgeOrg, and at that, can only be called one time.

**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| `Default value` options | [SetSchemesConfig](../interfaces/SetSchemesConfig.md) |  {} as SetSchemesConfig |   |

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

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

###  setSchemesTransactionsCount

▸ **setSchemesTransactionsCount**(options: *[SchemesConfig](../interfaces/SchemesConfig.md)*): `number`

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

**Parameters:**

| Param | Type |
| ------ | ------ |
| options | [SchemesConfig](../interfaces/SchemesConfig.md) |

**Returns:** `number`

___

