[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)
* [getParametersHash](DaoCreatorWrapper.md#getParametersHash)
* [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](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L62)*



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/9063ecdf/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/9063ecdf/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](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L62)*



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/9063ecdf/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/9063ecdf/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/9063ecdf/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](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L57)*



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:192](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L192)*



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/9063ecdf/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:324](https://github.com/daostack/arc.js/blob/9063ecdf/lib/wrappers/daoCreator.ts#L324)*



**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:178](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L178)*



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](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L142)*



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:170](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L170)*



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

###  getParametersHash

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



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

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

*Defined in [contractWrapperBase.ts:152](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L152)*



Given an object containing the contract's parameters, return the hash that would be used to represent them in Arc. Note this doesn't indicate whether the parameters have been registered with the contract.


**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| params | `any`   |  - |





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





___

<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:160](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L160)*



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



*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](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L96)*



Initialize from a given address on the current network.


**Parameters:**

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





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






___

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

###  hydrateFromDeployed

► **hydrateFromDeployed**(): `Promise`.<[IContractWrapperBase](../interfaces/IContractWrapperBase.md)>



*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](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L114)*



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




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






___

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

###  hydrateFromNew

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



*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](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L77)*



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`.<[IContractWrapperBase](../interfaces/IContractWrapperBase.md)>
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](https://github.com/daostack/arc.js/blob/9063ecdf/lib/contractWrapperBase.ts#L134)*



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/9063ecdf/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:328](https://github.com/daostack/arc.js/blob/9063ecdf/lib/wrappers/daoCreator.ts#L328)*



**Parameters:**

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





**Returns:** `number`





___


