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



# Class: DaoCreatorWrapper

## Hierarchy


 [ContractWrapperBase](ContractWrapperBase.md)

**↳ DaoCreatorWrapper**







## Implements

* [IContractWrapperBase](../interfaces/IContractWrapperBase.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)
* [getController](DaoCreatorWrapper.md#getController)
* [getParameters](DaoCreatorWrapper.md#getParameters)
* [getParametersArray](DaoCreatorWrapper.md#getParametersArray)
* [getSchemeParametersHash](DaoCreatorWrapper.md#getSchemeParametersHash)
* [hydrateFromAt](DaoCreatorWrapper.md#hydrateFromAt)
* [hydrateFromDeployed](DaoCreatorWrapper.md#hydrateFromDeployed)
* [hydrateFromNew](DaoCreatorWrapper.md#hydrateFromNew)
* [setParameters](DaoCreatorWrapper.md#setParameters)
* [setSchemes](DaoCreatorWrapper.md#setSchemes)
* [setSchemesTransactionsCount](DaoCreatorWrapper.md#setSchemesTransactionsCount)



---
## Constructors
<a id="constructor"></a>


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


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

*Defined in contractWrapperBase.ts:62*



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:25](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L25)*





___

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

###  NewOrg

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

*Defined in [wrappers/daoCreator.ts:24](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L24)*



Events




___

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

###  contract

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

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

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

*Defined in contractWrapperBase.ts:62*



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 [IContractWrapperBase](../interfaces/IContractWrapperBase.md).[factory](../interfaces/IContractWrapperBase.md#factory)*

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

*Defined in [wrappers/daoCreator.ts:19](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L19)*





___

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

###  friendlyName

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

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

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

*Defined in [wrappers/daoCreator.ts:18](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L18)*





___

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

###  name

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

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

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

*Defined in [wrappers/daoCreator.ts:17](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L17)*





___


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

###  address


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

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

*Defined in contractWrapperBase.ts:57*



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:182*



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 |
| 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:31](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L31)*



Create a new DAO


**Parameters:**

| Param | Type | Default value | Description |
| ------ | ------ | ------ | ------ |
| 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:292](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L292)*



**Parameters:**

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





**Returns:** `number`





___

<a id="getController"></a>

###  getController

► **getController**(avatarAddress: *[Address](../#Address)*): `Promise`.<`any`>



*Implementation of [IContractWrapperBase](../interfaces/IContractWrapperBase.md).[getController](../interfaces/IContractWrapperBase.md#getController)*

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

*Defined in contractWrapperBase.ts:168*



Returns the controller associated with the given avatar


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| avatarAddress | [Address](../#Address)   |  - |





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





___

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

###  getParameters

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



*Implementation of [IContractWrapperBase](../interfaces/IContractWrapperBase.md).[getParameters](../interfaces/IContractWrapperBase.md#getParameters)*

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

*Defined in contractWrapperBase.ts:142*



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`>>



*Implementation of [IContractWrapperBase](../interfaces/IContractWrapperBase.md).[getParametersArray](../interfaces/IContractWrapperBase.md#getParametersArray)*

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

*Defined in contractWrapperBase.ts:160*



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="getSchemeParametersHash"></a>

###  getSchemeParametersHash

► **getSchemeParametersHash**(avatarAddress: *[Address](../#Address)*): `Promise`.<[Hash](../#Hash)>



*Implementation of [IContractWrapperBase](../interfaces/IContractWrapperBase.md).[getSchemeParametersHash](../interfaces/IContractWrapperBase.md#getSchemeParametersHash)*

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

*Defined in contractWrapperBase.ts:150*



Given an avatar address, returns the schemes parameters hash


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| avatarAddress | [Address](../#Address)   |  - |





**Returns:** `Promise`.<[Hash](../#Hash)>





___

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

###  hydrateFromAt

► **hydrateFromAt**(address: *`string`*): `Promise`.<`any`>



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

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

*Defined in contractWrapperBase.ts:96*



Initialize from a given address on the current network.


**Parameters:**

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





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






___

<a id="hydrateFromDeployed"></a>

###  hydrateFromDeployed

► **hydrateFromDeployed**(): `Promise`.<`any`>



*Implementation of [IContractWrapperBase](../interfaces/IContractWrapperBase.md).[hydrateFromDeployed](../interfaces/IContractWrapperBase.md#hydrateFromDeployed)*

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

*Defined in contractWrapperBase.ts:114*



Initialize as it was migrated by Arc.js on the current network.




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






___

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

###  hydrateFromNew

► **hydrateFromNew**(...rest: *`Array`.<`any`>*): `Promise`.<`any`>



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

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

*Defined in contractWrapperBase.ts:77*



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


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| rest | `Array`.<`any`>   |  - |





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






___

<a id="setParameters"></a>

###  setParameters

► **setParameters**(...params: *`Array`.<`any`>*): `Promise`.<[ArcTransactionDataResult](ArcTransactionDataResult.md)[Hash](../#Hash)>



*Implementation of [IContractWrapperBase](../interfaces/IContractWrapperBase.md).[setParameters](../interfaces/IContractWrapperBase.md#setParameters)*

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

*Defined in contractWrapperBase.ts:134*



Call setParameters on this.contract. Returns promise of ArcTransactionDataResult <hash>where Result is the parameters hash.</hash>


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| params | `Array`.<`any`>   |  -- parameters as the contract.setParameters function expects them. |





**Returns:** `Promise`.<[ArcTransactionDataResult](ArcTransactionDataResult.md)[Hash](../#Hash)>





___

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

###  setSchemes

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



*Defined in [wrappers/daoCreator.ts:108](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L108)*



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 |
| ------ | ------ | ------ | ------ |
| 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:296](https://github.com/daostack/arc.js/blob/f779630e/lib/wrappers/daoCreator.ts#L296)*



**Parameters:**

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





**Returns:** `number`





___


