[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)
* [getSchemeParametersHash](DaoCreatorWrapper.md#getSchemeParametersHash)
* [hydrateFromAt](DaoCreatorWrapper.md#hydrateFromAt)
* [hydrateFromDeployed](DaoCreatorWrapper.md#hydrateFromDeployed)
* [hydrateFromNew](DaoCreatorWrapper.md#hydrateFromNew)
* [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:66](https://github.com/daostack/arc.js/blob/f343aa24/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:56](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/daoCreator.ts#L56)*





___

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

###  NewOrg

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

*Defined in [wrappers/daoCreator.ts:55](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/daoCreator.ts#L55)*



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





___

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





___

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





___


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



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



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



**Parameters:**

| Param | Type | Description |
| ------ | ------ | ------ |
| 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:136](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L136)*



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



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



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

*Defined in [contractWrapperBase.ts:144](https://github.com/daostack/arc.js/blob/f343aa24/lib/contractWrapperBase.ts#L144)*



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`.<[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/f343aa24/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="hydrateFromDeployed"></a>

###  hydrateFromDeployed

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



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

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

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



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




**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/f343aa24/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 | Description |
| ------ | ------ | ------ |
| 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:139](https://github.com/daostack/arc.js/blob/f343aa24/lib/wrappers/daoCreator.ts#L139)*



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



**Parameters:**

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





**Returns:** `number`





___


