[API Reference](../README.md) > [IUniversalSchemeWrapper](../interfaces/IUniversalSchemeWrapper.md)



# Interface: IUniversalSchemeWrapper


The minimum requirements for a universal scheme.

## Hierarchy


↳  [ISchemeWrapper](ISchemeWrapper.md)

**↳ IUniversalSchemeWrapper**







## Implemented by

* [ContributionRewardWrapper](../classes/ContributionRewardWrapper.md)
* [GenesisProtocolWrapper](../classes/GenesisProtocolWrapper.md)
* [GlobalConstraintRegistrarWrapper](../classes/GlobalConstraintRegistrarWrapper.md)
* [SchemeRegistrarWrapper](../classes/SchemeRegistrarWrapper.md)
* [UpgradeSchemeWrapper](../classes/UpgradeSchemeWrapper.md)
* [VestingSchemeWrapper](../classes/VestingSchemeWrapper.md)
* [VoteInOrganizationSchemeWrapper](../classes/VoteInOrganizationSchemeWrapper.md)


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

###  address

**●  address**:  *[Address](../#Address)* 

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

*Defined in [iContractWrapperBase.ts:13](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L13)*





___

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

###  contract

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

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

*Defined in [iContractWrapperBase.ts:14](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L14)*





___

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

###  factory

**●  factory**:  *[IContractWrapperFactory](IContractWrapperFactory.md)`any`* 

*Inherited from [IContractWrapper](IContractWrapper.md).[factory](IContractWrapper.md#factory)*

*Defined in [iContractWrapperBase.ts:10](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L10)*





___

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

###  friendlyName

**●  friendlyName**:  *`string`* 

*Inherited from [IContractWrapper](IContractWrapper.md).[friendlyName](IContractWrapper.md#friendlyName)*

*Defined in [iContractWrapperBase.ts:12](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L12)*





___

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

###  name

**●  name**:  *`string`* 

*Inherited from [IContractWrapper](IContractWrapper.md).[name](IContractWrapper.md#name)*

*Defined in [iContractWrapperBase.ts:11](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L11)*





___


## Methods
<a id="getDefaultPermissions"></a>

###  getDefaultPermissions

► **getDefaultPermissions**(): [SchemePermissions](../enums/SchemePermissions.md)



*Inherited from [ISchemeWrapper](ISchemeWrapper.md).[getDefaultPermissions](ISchemeWrapper.md#getDefaultPermissions)*

*Defined in [iContractWrapperBase.ts:25](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L25)*





**Returns:** [SchemePermissions](../enums/SchemePermissions.md)





___

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

###  getParameters

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



*Defined in [iContractWrapperBase.ts:32](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L32)*



**Parameters:**

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





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





___

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

###  getParametersArray

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



*Defined in [iContractWrapperBase.ts:36](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L36)*



**Parameters:**

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





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





___

<a id="getParametersHash"></a>

###  getParametersHash

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



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



**Parameters:**

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





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





___

<a id="getSchemeParameters"></a>

###  getSchemeParameters

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



*Defined in [iContractWrapperBase.ts:35](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L35)*



**Parameters:**

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





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





___

<a id="getSchemePermissions"></a>

###  getSchemePermissions

► **getSchemePermissions**(avatarAddress: *[Address](../#Address)*): `Promise`.<[SchemePermissions](../enums/SchemePermissions.md)>



*Inherited from [ISchemeWrapper](ISchemeWrapper.md).[getSchemePermissions](ISchemeWrapper.md#getSchemePermissions)*

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



**Parameters:**

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





**Returns:** `Promise`.<[SchemePermissions](../enums/SchemePermissions.md)>





___

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

###  hydrateFromAt

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



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

*Defined in [iContractWrapperBase.ts:16](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L16)*



**Parameters:**

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





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





___

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

###  hydrateFromDeployed

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



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

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





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





___

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

###  hydrateFromNew

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



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

*Defined in [iContractWrapperBase.ts:15](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L15)*



**Parameters:**

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





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





___

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

###  setParameters

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



*Defined in [iContractWrapperBase.ts:34](https://github.com/daostack/arc.js/blob/f343aa24/lib/iContractWrapperBase.ts#L34)*



**Parameters:**

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





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





___


